微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mybatis CURD及模糊查询功能的实现

这篇文章主要介绍了Mybatis CURD及模糊查询功能的实现,有查询删除,插入,更新功能,通过实例代码讲解的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

命名空间namespace:

配置文件中namespace中的名称为对应Mapper接口或者Dao接口的完整包名,必须一致!

1.查询(select)

select:

接口中的方法名与映射文件中的sql语句ID 一一对应

id

parameterType

resultType

案例:根据id查询用户

1.写接口(在UserMapper中添加对应的方法

public interface UserMapper { //根据ID查询用户 User getuserByID(int id); }

2.UserMapper.xml配置文件的编写sql语句

select * from mybatis.user where id = #{id};

3.测试

@Test public void getUserID(){ sqlSession sqlSession = MyBatisUtils.getsqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.getuserByID(4); System.out.println(user); sqlSession.close(); }

注意:根据密码和名字直接查询用户

使用万能的Map方法

1.在接口方法中,直接传递Map;

User getuserByID2(Map map);

2.在编写sql语句的时候,需要传递参数的类型,参数类型是map

select * from mybatis.user where id = #{userID} and name =#{username};

此处的userID,username可以不是数据库里面的字段,用map方法添加就可。

3.在使用方法的时候,Map的 key 为 sql中取的值即可,没有顺序要求!

@Test public void getUserID2(){ sqlSession sqlSession = MyBatisUtils.getsqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); Map map= new HashMap(); map.put("userID",2); map.put("username","gou"); User user = mapper.getuserByID2(map); System.out.println(user); sqlSession.commit(); sqlSession.close(); }

总结:如果参数过多,我们可以考虑直接使用Map实现,如果参数比较少,直接传递参数即可

2.插入(insert)

insert

1.在UserMapper中添加对应的方法

int addUser(User user);

2.在UserMapper.xml中添加insert语句

insert into mybatis.user (id,name,pwd) values (#{id},#{name},#{pwd});

3.测试

@Test public void adduser(){ sqlSession sqlSession = MyBatisUtils.getsqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int i = mapper.addUser(new User(4, "狗哥", "45412331")); if(i>0){ System.out.println("插入成功"); } //记得提交事物 sqlSession.commit(); sqlSession.close(); }

注意点:增、删、改操作需要提交事务!

3.更新(update)

1.编写接口方法

int updateUser(User user);

2.编写接口对应的UserMapper.xml文件中的sql

update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id};

3.测试(记住一定要提交事物)

@Test public void updateuser(){ sqlSession sqlSession = MyBatisUtils.getsqlSession(); System.out.println(sqlSession); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int i = mapper.updateUser(new User(5, "hh", "55464545")); if(i>0){ System.out.println("更新成功"); } sqlSession.commit(); sqlSession.close(); }

4.删除(delete)

1.编写接口方法

int delete(int id);

2.编写对应配置文件sql

delete from mybatis.user where id=#{id};

3.测试(记得要提交事物)

@Test public void deleteuser(){ sqlSession sqlSession = MyBatisUtils.getsqlSession(); System.out.println(sqlSession); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int i = mapper.delete(4); if(i>0){ System.out.println("更新成功"); } sqlSession.commit(); sqlSession.close(); }

总结:所有的增删改操作都需要提交事务!

5.模糊查询(like)

直接在sql语句中拼接通配符,会引起sql注入

select * from mybatis.user where name like "%"#{value}"%";

测试:

@Test public void getUserListByLike(){ sqlSession sqlSession = MyBatisUtils.getsqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List user = (List) mapper.getUserListByLike("李"); for (User user1 : user) { System.out.println(user1); } sqlSession.commit(); sqlSession.close(); }

以上就是Mybatis CURD及模糊查询功能的实现的详细内容,更多关于Mybatis 模糊查询的资料请关注编程之家其它相关文章

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐