Mybatis中的增删改查操作
实体类,数据库表,MybatisUit略
- 查询对象
UserDao业务类
//根据ID获取User public User getById(String id) throws IOException { SqlSession ss = MybatisUit.getSqlSession(); User user=ss.selectOne("com.master.UserMapper.selectUser", id); ss.close(); return user; } |
Sq语句映射UserMapper
<select id="selectUser" resultType="com.master.User"> select*from Users where u_id=#{id} </select> |
测试:
这里出现查询对象返回值为null的原因是
数据库里id,name字段为u_id,u_name
实体类的字段为id,name
数据库表与实体类字段不匹配导致查询的返回值为null
将数据库表或实体类字段修改一致后就可以查询出结果了
查询多个对象
UserDao业务类
//查询全部User public List<User> selectAll() throws IOException{ SqlSession ss=MybatisUit.getSqlSession(); List li=ss.selectList("com.master.UserMapper.selectAll"); ss.close(); return li; } |
Sql语句映射
<!-- 查询多个 --> <select id="selectAll" resultType="com.master.User"> select*from Users </select> |
测试:
- 增加操作
UserDao业务类
//增加操作,insert返回值为整型 public int insertUser(User user) throws IOException{ SqlSession ss=MybatisUit.getSqlSession(); int result=ss.insert("com.master.UserMapper.addUser", user); ss.close(); return result; } |
Sql语句映射
<insert id="addUser" parameterType="com.master.User"> insert into Users values(#{u_id},#{u_name}) </insert> |
测试
- 修改操作
UserDao业务类
//修改操作 返回值为整型 public int updateUser(User user) throws IOException { SqlSession ss=MybatisUit.getSqlSession(); int result = ss.update("com.master.UserMapper.updateUser", user); ss.commit(); ss.close(); return result; } |
Sql语句映射
<update id="updateUser" parameterType="com.master.User"> update Users set u_name=#{u_name} where u_id=#{u_id} </update> |
测试:
4.删除操作
UserDao业务类
public int deleteUser(String u_id) throws IOException { SqlSession ss=new MybatisUit().getSqlSession(); int result=ss.update("com.master.UserMapper.deleteUser", u_id); ss.commit(); ss.close(); return result; } |
Sql语句映射
<delete id="deleteUser" parameterType="com.master.User"> delete Users where u_id=#{u_id} </delete> |
测试