需要编写mapper接口(相当于dao接口)
需要编写mapper.xml映射文件
mybatis可以自动生成mapper接口实现类的代理对象
开发规范
1、mapper.xml中namespace等于mapper接口地址
2、mapper.java接口中方法名和mapper.xml中statement的id名一致
3、mapper.java接口的方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致
4、mapper.java接口的方法返回值类型和mapper.xml中statement的resultType的指定类型一致
<?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">
<!--使用mappper代理方法,namespace有重要特殊作用-->
<mapper namespace="com.sws.mapper.UserMapper">
<select id="findUserByID" parameterType="int" resultType="com.sws.entity.User">
select * from user where id = #{id}
</select>
<select id="findUserByName" parameterType="java.lang.String" resultType="com.sws.entity.User">
--SELECT * from user where username like #{username}
select * from user where name like '%${username}%'
</select>
<insert id="insertUser" parameterType="com.sws.entity.User">
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select last_insert_id()
</selectKey>
insert into user(id,username,birthday,sex,address) value (#{id},#{username},#{birthday},#{sex},#{address})
</insert>
<!--删除用户-->
<delete id="deleteUser" parameterType="java.lang.Integer">
delete from user where id = #{id}
</delete>
<!--更新用户-->
<update id="updateUser" parameterType="java.com.sws.entity.User">
update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id = #{id}
</update>
</mapper>
//在SqlMapConfig.xml下配置
<mappers>
<mapper source="UserMapper.xml" />
</mappers>
//mapper接口编写,必须满足开发规范
public interface UserMapper {
public User findUserByID(int id) throws Exception;
public void insertUser(User user) throws Exception;
public void deleteUser(int id)throws Exception;
}
//调用sqlsession
SqlSession sqlSession = sqlSessionFactory.openSession();
//创建UserMapper对象,mybatis自动生成mapper代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//调用userMapper方法
User user = userMapper.findUserByID(1);
System.out.println(user);
mapper接口方法参数只能有一个,可以使用包装类型的pojo来满足不同类型的方法需求