一、自定义接口,定义相关业务方法。
public interface UserRepository {
List <User> findAll();
User findById(Long id);
int save(User user);
int update(User user);
int delectById(Long id);
}
二、编写与接口对应的Mapper.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">
<!-- namespace:命名空间,用于隔离sql-->
<mapper namespace="com.example.demo.repository.UserRepository">
<select id="findAll" resultType="com.example.demo.mapper.User">
select * from author
</select>
<select id="findById" parameterType="long" resultType="com.example.demo.mapper.User">
select * from author where id = #{id}
</select>
<insert id="save" parameterType="com.example.demo.mapper.User">
insert into author(id,name,sex,age) values (#{id},#{name},#{sex},#{age})
</insert>
<update id="update" parameterType="com.example.demo.mapper.User">
update author set name = #{name},age = #{age} ,sex = #{sex}
</update>
<delete id="delectById" parameterType="long">
delete from author where id = #{id}
</delete>
</mapper>
三、配置mapper
<mapper resource="com/example/demo/repository/UserRepository.xml"/>
四、使用
InputStream i = HelloCpntroller.class.getClassLoader().getResourceAsStream("config.xml");
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory =sqlSessionFactoryBuilder.build(i);
SqlSession sqlSession = sqlSessionFactory.openSession();
UserRepository userss = sqlSession.getMapper(UserRepository.class);
sqlSession.close();