myBatis入門

一概述

後臺框架
不是orm(操作對象來操作表)

二入門代碼

1.環境

 (1)jar包
     mysql數據庫驅動包
     myBatis相關jar包    

 (2)配置文件    
     log4j.properties
     SqlMapConfig.xml     核心配置文件
     user.xml             表映射配置文件  寫數據庫語句
 (3)其他
 數據庫表的pojo類(字段對應)
配置文件注意事項:
    核心配置配置文件中要導入sql映射文件()
     <mappers>
        <mapper resource="sqlmap/User.xml"/>
     </mappers>

2.代碼

測試代碼

package com.itheima.test;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.itheima.domain.User;

public class MyBatisTest {
    public static void main(String[] args) throws Exception {
        //1.獲得sqlSession對象
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
        InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); //Resouces是Mybatis提供的工具類 
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //2.調用相關方法完成業務操作
        User user = sqlSession.selectOne("findUserById", 1); //正好對應<select id="" parameterType="" resultType="">select * from user where id = #{id}</select>
        System.out.println(user); //注意#{}相當於佔位符

        //3.釋放資源 , 每一個sqlSession就是一個連接
        sqlSession.close();
    }
}

配置文件內容
1.核心配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 和spring整合後 environments配置將廢除-->
    <environments default="development">
        <environment id="development">
        <!-- 使用jdbc事務管理-->
            <transactionManager type="JDBC" />
        <!-- 數據庫連接池-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!--將Users.xml添加在SqlMapConfig.xml  -->
        <mapper resource="sqlmap/User.xml"/>
    </mappers>
</configuration>

2.. user.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
    <!-- id爲sql語句的id,parameterType 參數類型 , resultType 返回的類型 (實體類要寫類全名)-->
    <select id="findUserById" parameterType="int" resultType="com.itheima.domain.User">
        SELECT * from user where id= #{id}
    </select>


</mapper>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章