总共这么几步: (可能不太准确)
1 创建 mapper接口 在接口中添加对应的方法
2 创建对应的实体类用于映射
3 创建mapper映射文件,在其中配置并编写sql(maven项目)这里一般情况下会在resource文件夹下创建,并且与 mapper接口和映射文件的全类名一致,下面将mybatis-config配置文件会讲到为什么
4 创建mybatis-config.xml 配置文件 并配置
重点在第 3 , 4 步
mybaits-config.xml文件注意细节
<?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>
<!--引入properties文件,此后可以在当前文件中使用${key}的方式访问-->
<properties resource="jdbc.properties"/>
<!--类型别名-->
<typeAliases>
<!--如果不使用alias属性,它会有一个默认值,就是类名 且不区分大小写 -->
<!--<typeAlias type="com.csy.mabatis.pojo.User" alias="adc"></typeAlias>-->
<!-- 一般这样使用
通过包来设置类型别名,指定包下所有的类型都拥有默认的类型别名,即包名不区分大小写
-->
<package name="com.csy.mybatis.pojo"/>
</typeAliases>
<!-- 配置连接数据库的环境-->
<environments default="development">
<environment id="development">
<!--设置事务管理器
type值有 JDBC/MANAGED
JDBC表示使用JDBC中原生的事务管理方式
MANAGED表示:被管理,例如Spring
-->
<transactionManager type="JDBC"/>
<!--type 设置数据源的类型
POOLED: 使用数据库连接池
UNPOOLED: 表示不使用数据库连接池
JNDI: 表示使用上下文中的数据源
-->
<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>
<!--引入mybaits的映射文件-->
<mappers>
<!--<mapper resource="mappers/UserMapper.xml"/>-->
<!--为了解决多个映射文件的问题
条件: 1 mapper接口和映射文件所在的全类名必须一致
2 mapper接口的名字和映射文件必须一致
-->
<package name="com.csy.mybatis.mapper"/>
</mappers>
</configuration>
如上图mapper接口和映射文件所在的全类名必须一致,用于简化 mybatis-config.xml中引入映射文件这一步
mapper映射文件
mapper映射文件 主要目的是让mybatis用来创建一个接口的代理类对接口中的方法进行实现(暂时是这么理解的)
<?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="com.csy.mybatis.mapper.UserMapper">
<!--int insertUser()-->
<!--
两个一致:
mapper接口的全类名和映射文件的namespace一致
mapper接口中的方法名要个映射文件中sql标签的id保持一致
-->
<insert id="insertUser">
insert into t_user values (null,'admin','123',24,'男','123@qq.com')
</insert>
<select id="getUser" resultType="com.csy.mabatis.pojo.User">
select * from t_user where id = 3
</select>
<!--List<User> getAllUsers()-->
<select id="getAll" resultType="User">
select * from t_user
</select>
</mapper>
关于sql标签后面会详细讲讲它的属性及使用方法。