准备工作,按照Mybaits 使用框架中的配置文件设置
查询
UserMapper.xml
<select id="queryUser" parameterType="int" resultType="com.company.pojo.Users"> select * from users where id=#{id} </select>
测试
@Test public void queryUser() throws Exception{ SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); inputStream.close(); SqlSession sqlSession = sqlSessionFactory.openSession(); Users user = sqlSession.selectOne("com.company.mapper.UserMapper.queryUser", 2); System.out.println(user); sqlSession.close(); }
新增
UserMapper.xml
<insert id="addUser" parameterType="com.company.pojo.Users"> insert into users(username,sex,birthday,address) values(#{username},#{sex},#{birthday},#{address}) </insert>
测试
@Test public void saveUser() throws Exception{ SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); inputStream.close(); SqlSession sqlSession = sqlSessionFactory.openSession(); Users user=new Users(); user.setUsername("刘备"); user.setSex('1'); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); user.setBirthday(simpleDateFormat.parse("2019-10-28")); user.setAddress("四川"); int count = sqlSession.insert("com.company.mapper.UserMapper.addUser",user); System.out.println("影响行数:"+count); sqlSession.commit(); sqlSession.close(); }
更改
UserMapper.xml
<update id="updateUser" parameterType="com.company.pojo.Users"> update users set username=#{username},sex=#{sex},birthday=#{birthday},address=#{address} where id=#{id} </update>
测试
@Test public void updateUser() throws Exception{ SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); inputStream.close(); SqlSession sqlSession = sqlSessionFactory.openSession(); Users user=new Users(); user.setId(1); user.setUsername("关羽"); user.setSex('1'); SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd"); user.setBirthday(simpleDateFormat.parse("2018-12-01")); user.setAddress("荆州"); int count = sqlSession.update("com.company.mapper.UserMapper.updateUser", user); System.out.println("影响行数:"+count); sqlSession.commit(); sqlSession.close(); }
删除
UserMapper.xml
<delete id="deleteUser" parameterType="int"> delete from users where id=#{id} </delete>
测试
@Test public void deleteUser() throws Exception{ SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml"); SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream); inputStream.close(); SqlSession sqlSession = sqlSessionFactory.openSession(); int count = sqlSession.delete("com.company.mapper.UserMapper.deleteUser", 3); System.out.println("影响行数:"+count); sqlSession.commit(); sqlSession.close(); }
注意:增删改操作时,最后手动提交事务,即sqlSession.commit()。否则影响的内容不会更新到数据库。
posted on
浙公网安备 33010602011771号