前面用注解配置了mybatis,非常的简单,但是在写动态sql语句的时候会非常的麻烦,所以这边我们用xml来重新配置一下
在resource目录下新建
SqlMapConfig.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>
<!-- 这里写配置内容 -->
<environments default="mysql">
<environment id="mysql">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://119.23.53.78:3306/kejin?serverTimezone=CST"/>
<property name="username" value="kejin"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 指定配置文件的位置-->
<mappers>
<mapper resource="com/k1998/mybatis/dao/IUserDao.xml"/>
</mappers>
</configuration>
在resource目录下新建同等级的配置文件
mapper配置文件
<?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.k1998.mybatis.dao.IUserDao">
<!-- SQL语句 -->
<select id="findAll">
select * from user
</select>
</mapper>
配置文件相关属性
id 对应dao层的方法
属性 | 值 |
---|---|
id | 对应dao层的方法 |
parameterType | 对应传入的参数属性类型 |
resultType | 对应返回的属性类型 |
案例
查询
只需要返回值的类型
<select id="findAll" resultType="com.k1998.mybatis.bean.User">
select * from user
</select>
新增
只需要传入值的类型
<select id="saveUser" parameterType="com.k1998.mybatis.bean.User">
insert into user(username, password) values (#{username},#{password})
</select>
删除
<select id="deleteUser" parameterType="com.k1998.mybatis.bean.User">
DELETE FROM user WHERE id = #{id}
</select>
修改
<select id="updateUser" parameterType="com.k1998.mybatis.bean.User">
update user set username=#{username},password=#{password} where id=#{id}
</select>
配置文件相关属性简化
可将resultType改为resultMap
上面添加
<resultMap id="userMap" type="com.k1998.mybatis.bean.User">
<id property="id" column="id"></id>
<result property="username" column="username"></result>
<result property="password" column="password"></result>
</resultMap>
<select id="findUserByCondition" resultMap="userMap" parameterType="com.k1998.mybatis.bean.User">