标签:from after uil 名称 测试 system eal names 工厂
定义sql映射接口
1.创建映射接口UsersDao
2.在接口文件中加入抽象方法,注意,这里的方法名称要和需要映射的xml文件中对应标签的ID相同
public interface UsersDao { /** * 查询 * @return */ public Users getUser(int id); /** * 添加 * @param user */ public void addUser(Users user); /** *更新 * @param user */ public void updateUser(Users user); /** * 删除 * @param id */ public void deleteUser(int id); /** * 查询所有 * @return */ public List<Users> selectAll(); /** * * @param min * @param max * @return */ public List<Users> selectByAge(@Param("min") int min,@Param("max") int max); }
3.添加UserMapper.xml文件内容
<mapper namespace="com.zhiyou.zyl.dao.UsersDao"> <!-- 这里的namespace必须为映射接口的路径--> <select id="getUser" parameterType="int" resultType="com.zhiyou.zyl.bean.Users"> select * from users where id=#{id} </select> <insert id="addUser" parameterType="com.zhiyou.zyl.bean.Users"> insert into users(name,age) values(#{name},#{age}) </insert> <update id="updateUser" parameterType="com.zhiyou.zyl.bean.Users"> update users set name=#{name},age=#{age} where id=#{id} </update> <delete id="deleteUser" parameterType="int"> delete from users where id=#{id} </delete> <select id="selectAll" resultType="com.zhiyou.zyl.bean.Users"> select * from users </select> <select id="selectByAge" resultType="com.zhiyou.zyl.bean.Users"> <![CDATA[select * from users where age>=#{min} and age<=#{max}]]> </select> </mapper>
4.添加测试类,通过session的getMapper方法得到UsersDao的实例对象,在通过对象调用方法
class UsersTest { static SqlSession session =null; static UsersDao ud; @BeforeAll static void setUpBeforeClass() throws Exception { String resource = "conf.xml"; //加载 mybatis 的配置文件(它也加载关联的映射文件) Reader reader = Resources.getResourceAsReader(resource); //构建 sqlSession 的工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); //创建能执行映射文件中 sql 的 sqlSession session = sessionFactory.openSession();
//得到UsersDao实例 ud=session.getMapper(UsersDao.class); } @AfterAll static void tearDownAfterClass() throws Exception { //提交 session.commit(); } @Test void testSelectById() { Users user=ud.getUser(1); //直接调用UsersDao的方法 System.out.println(user); } @Test void testAddUser() { ud.addUser(new Users("张三",18)); } @Test void testUpdateUser() { ud.updateUser(new Users(1,"123",14)); } @Test void testDeleteUser() { ud.deleteUser(4); } @Test void testSelectAll() { List<Users> row=ud.selectAll(); System.out.println(row); } @Test void testSelectByAge() { List<Users> row=ud.selectByAge(0, 100); System.out.println(row); } }
标签:from after uil 名称 测试 system eal names 工厂
原文地址:https://www.cnblogs.com/zyl187110/p/11442104.html