CRUD(增删改查)操作及配置解析
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、根据id查询用户
1.在UserMapper中添加对应方法
//根据ID查询用户
User getUserById(int id);
2.在UserMapper.xml中添加语句
<select id="getUserById" parameterType="int" resultType="com.pojo.User">
select *
from laptopmall.user
where id = #{id}
</select>
3.UserDaoTest代码如下
public void getUserById() {
SqlSession sqlSession = MybatisUtils.getSqlSeesion();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
二、删改查操作
1.在UserMapper中添加对应方法
// 添加一个用户
int addUser(User user);
// 修改用户
int updateUser(User user);
// 删除用户
int deleteUser(User user);
2.在UserMapper.xml中添加语句
<!-- 添加用户信息-->
<insert id="addUser" parameterType="com.pojo.User">
insert into laptopmall.user(id, login_name, password, role, real_name, phone, address, email, head_img)
values (#{id}, #{login_name}, #{password}, #{role}, #{real_name}, #{phone}, #{address}, #{email}, #{head_img});
</insert>
<!-- 修改用户信息-->
<update id="updateUser" parameterType="com.pojo.User">
update laptopmall.user
set real_name=#{real_name},
password=#{password}
where id = #{id};
</update>
<!-- 删除指定用户-->
<delete id="deleteUser" parameterType="com.pojo.User">
delete
from laptopmall.user
where id = #{id};
</delete>
3.UserDaoTest代码如下
@Test
public void addUser() {
SqlSession sqlSession = MybatisUtils.getSqlSeesion();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
int rs = mapper.addUser(new User(9, "Akatsukizz", "123456", 1, "bsg", "1112312312", "蟀", "123123@qq.com", "abc"));
if (rs > 0) {
// 如果插入成功则提交事务
sqlSession.commit();
System.out.println("插入成功");
}
sqlSession.close();
}
@Test
public void updateUser() {
SqlSession sqlSession = MybatisUtils.getSqlSeesion();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(9);
user.setReal_name("bsg");
user.setPassword("213233");
int rs = mapper.updateUser(user);
if (rs > 0) {
sqlSession.commit();
System.out.println("更新成功");
}
sqlSession.close();
}
@Test
public void deleteUser(){
SqlSession sqlSession=MybatisUtils.getSqlSeesion();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user=mapper.getUserById(9);
int rs=mapper.deleteUser(user);
if (rs > 0) {
sqlSession.commit();
System.out.println("删除成功");
}
sqlSession.close();
}
三.通过Map()来进行增删改查操作
Usermapper类:
int addUser2(Map<String, Object> map);
Usermapper.xml:
<insert id="addUser2" parameterType="map">
insert into laptopmall.user(id, login_name, password)
values (#{id}, #{login_name}, #{password})
</insert>
UserDaoTest:
@Test
public void addUser2() {
SqlSession sqlSession = MybatisUtils.getSqlSeesion();
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
Map<String, Object> map = new HashMap<String, Object>();
map.put("id", "9");
map.put("login_name", "芜湖");
map.put("password", "asdzxc");
int rs = mapper.addUser2(map);
if (rs > 0) {
sqlSession.commit();
System.out.println("添加成功");
}
sqlSession.close();
}
四.模糊查询
第1种:在Java代码中添加sql通配符
xml:
<select id="selectlike">
select * from foo where bar like #{value}
</select>
java:
string wildcardname = "%smi%";
list<name> names = mapper.selectlike(wildcardname);
第2种:在sql语句中拼接通配符,但会引起sql注入
xml:
<select id=”selectlike”>
select * from foo where bar like "%"#{value}"%"
</select>
java:
string wildcardname = "smi";
list<name> names = mapper.selectlike(wildcardname);
五、一些Tips
1. 进行删改查操作时一定要提交事务
2.IDEA的一些便携操作:
CTRL+ALT+L 整理代码
ALT+ENTER 智能辅助(在接口实现类中添加一个方法后,让该接口类也跟着生成,其他方法略)