前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。
一.逆向工程
逆向工程可以针对单表自动生成 mybatis 执行所需要的代码(mapper.java,mapper.xml、po),
根据数据库的表生成 java 代码方法见文章:IDEA 中 springboot 项目 MyBatis Generator 逆向生成实体类及 mapper 配置文件
二.Example类的使用
Example类的成员 :
//升序还是降序: 字段+空格+asc (desc)protected String orderByClause;//去除重复:true 选择不重复记录, false,反之protected boolean distinct;//自定义查询条件protected List<Criteria> oredCriteria;
需求:根据用户名查询查询 user :
sql: select id, username, birthday, sex, addressfrom user where ( username = ‘张三’ ) order by username asc
@Testpublic void testFindUserByName(){//通过criteria构造查询条件UserExample userExample = new UserExample();userExample.setOrderByClause("username asc"); //asc升序,desc降序排列userExample.setDistinct(false); //去除重复,true是选择不重复记录,false反之UserExample.Criteria criteria = userExample.createCriteria(); //构造自定义查询条件criteria.andUsernameEqualTo("张三");//自定义查询条件可能返回多条记录,使用List接收List<User> users = userMapper.selectByExample(userExample);System.out.println(users);}
测试结果 ( 数据库中有两个 username 为张三 ) :
DEBUG [main] - ==> Preparing: select id, username, birthday, sex, address from user WHERE ( username = ? ) order by username asc
DEBUG [main] - ==> Parameters: 张三(String)
DEBUG [main] - <== Total: 2
DEBUG [main] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@17db9ab7]
DEBUG [main] - Returning JDBC Connection to DataSource
[cn.itcast.ssm.po.User@567bed7a, cn.itcast.ssm.po.User@622410f1]
---------------------
转自:https://blog.csdn.net/simatongming/article/details/76021687