1.需要导入四个坐标
分别是mybatits、junit、log4j、mysql-connection-java
2.连接数据库信息、配置mapper的位置
3.映射文件namespace对应的是接口全名、id是接口里面的方法名、resultType是类的全名
4.创建测试类的时候
(1)SqlSessionFactoryBuilder通过初始方法从xml文件获取到sqlSessionFactory
(2)sqlSessionFactory通过openSession()方法来获取到sqlSession对象
(3)通过sqlSession的getMapper方法实现了userDao接口中userDao,通过userDao对象回调接口的findAll()方法
5.连接数据库的方式
(1)第一种方式通过外部指定的方式,将数据库连接相关信息配置在典型的 Java 属性配置文件中
外部文件:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/book
username=root
password=1234
配置文件的内容:
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments>
上面加了一个resource,所以在有多数的数据库连接方式的时候会优先访问外部的properties文件
(2)第二种方式:直接配置为xm的方式: 可以使用直接配置为 xml的方式 ,并使用这些属性对配置项实现动态配置
(3)第三种方式:直接引用
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/user"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
6.开启自动驼峰命名规则映射
(1)用下面设置在配置文件里面进行写入
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
(2)在映射文件里面写,需要注意此刻需要开启第七项中的任意一个包,指定包名,或者是指定非限制性类
<mapper namespace="com.jbgaa.mapper.UserDao">
<resultMap id="resultMap" type="user">
<id property="userId" column="user_id"></id>
<result property="userName" column="user_name"></result>
<result property="passWord" column="user_password"></result>
</resultMap>
<select id="findAll" resultMap="resultMap">
select * from user1
</select>
</mapper>
7.1)非限定类,不区分大小写、2)给实体类取别名
<typeAliases>
默认名称:指定包下javabean的非限定类,不区分大小写,意思就是这个包里的类不需要在写前面包的路径
<package name="com.jbgaa.entity"/>-->
加一个别名,上面方式是为给实体类取别名,方便在 mapper 配置文件中使用,下面是为一个类指定别名
<typeAlias alias="user" type="com.jbgaa.entity.User"/>
</typeAliases>
8.mappers元素获取资源的四种方式
<mappers>
(1)第一种方式mapper 映射文件加入到系统核心配置文件中
<mapper resource="com/bbbaa421/Dao/BookDao.xml"/>
(2) 第二种方式:<mapper class= "接口路径" >
<mapper class="com.bbbaa421.Dao.BookDao"></mapper>
(3) 第三种方法使用使用 URL 获取资源-->
<mapper url="file:///E:\QMKS\Test_lx\src\main\resources\com\jbgaa\mapper\UserDao.xml"/>
(4)第四种方法使用 <package> 获取资源-->
<package name="com.bbbaa421.Dao"></package>
</mappers>
9.resultType与resultMap只能使用一个
10.测试类的关键所在
I
nputStream inputStream = Resources.getResourceAsStream("mybatis_config.xml");
sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession=sqlSessionFactory.openSession();
UserDao userDao=sqlSession.getMapper(UserDao.class);