标签:int CRUD UserMapper 笔记 sqlSession user Mybatis id User
文章目录
一、namespace
配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!
二、select
需求:根据id查询用户
- 在UserMapper中添加对应方法
public interface UserMapper {
//查询全部用户
List<User> getUserList();
//根据id查询用户
User getUserById(int id);
}
- 在UserMapper.xml中添加Select语句
<select id="getUserById" parameterType="int" resultType="com.pojo.User">
select * from mybatis.user where id = #{id}
</select>
- 测试类中测试
@Test
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
三、insert
需求:给数据库增加一个用户
- 在UserMapper中添加对应方法
public interface UserMapper {
//查询全部用户
List<User> getUserList();
//根据id查询用户
User getUserById(int id);
//insert 用户
int addUser(User user);
}
- 在UserMapper.xml中添加insert语句
<insert id="addUser" parameterType="com.pojo.User">
insert into mybatis.user (id,name,pwd) value (#{id},#{name},#{pwd})
</insert>
- 在测试类中测试
//增删改需要提交事务
@Test
public void addUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int res = mapper.addUser(new User(6, "小李", "1233"));
if(res>0){
System.out.println("插入成功");
}
//提交事务
sqlSession.commit();//很重要
sqlSession.close();
}
注意:增改删都必须要提交事务,即必须有:
sqlSession.commit();
四、update
需求:修改用户的信息
- 在UserMapper中添加对应方法
public interface UserMapper {
//查询全部用户
List<User> getUserList();
//根据id查询用户
User getUserById(int id);
//insert 用户
int addUser(User user);
//修改用户
int updateUser(User user);
//删除用户
int deleteUser(int id);
}
- 在UserMapper.xml中添加update语句
<update id="updateUser" parameterType="com.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id =#{id}
</update>
- 在测试类中测试
@Test
public void updateUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.updateUser(new User(2,"小王","1115"));
sqlSession.commit();
sqlSession.close();
}
五、提交事务
需求删除一个用户信息
- 在UserMapper中添加对应方法
public interface UserMapper {
//查询全部用户
List<User> getUserList();
//根据id查询用户
User getUserById(int id);
//insert 用户
int addUser(User user);
//修改用户
int updateUser(User user);
//删除用户
int deleteUser(int id);
}
- 在UserMapper.xml中添加delete语句
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id=#{id}
</delete>
- 在测试类中测试
@Test
public void deleteUser(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
mapper.deleteUser(5);
sqlSession.commit();
sqlSession.close();
}
六、Map的使用
假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应该考虑使用Map!
- UserMapper接口
User addUser2(Map<String,Object> map);
- UserMapper.xml
<insert id="addUser" parameterType="map">
insert into mybatis.user (id,name,pwd) value (#{userid},#{username},#{password})
</insert>
- 测试
@Test
public void getUserById2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String,Object> map = new HashMap<String,Object>();
map.put("helloid",1);
mapper.addUser2(map);
sqlSession.close();
}
七、如何实现模糊查询?
List<User> userList = mapper.getUserLike("%李%");
<!--模糊查询-->
<select id="getUserLike" resultType="com.pojo.User">
select * from mybatis.user where name like #{value}
</select>
@Test
public void getUserLike(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
List<User> userList = mapper.getUserLike("%李%");
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
标签:int,CRUD,UserMapper,笔记,sqlSession,user,Mybatis,id,User 来源: https://blog.csdn.net/weixin_46647863/article/details/121160991
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。