mybatisGenerator 逆向工程工具的使用

MyBatis Generator(MBG)是MyBatis 官方提供的代码生成工具。MyBatis Generator 工
具可以根据数据库的表结构自动的帮助我们生成模型、接口与映射配置文件,它可以极大地
减少我们对代码的编写,提高开发效率。

1.0 修改配置文件,要生成的表类
image
2.把生成的接口和pojo复制粘贴过去就好了

3.pojo中会有一个UsersExample 类,userexample,里面封装的条件,用于拼接动态sql查询或者多查询时用的

例子:
1.0 根据主键查询用户
pojo,配置文件,接口都已经写好了,只需要调用方法就行了
服务方法

点击查看代码
    public Users selectUsersById(int userid) {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
        Users users = mapper.selectByPrimaryKey(userid);
        return users;
    }
2.0 动态sql 2.1 and 链接 需要用 example 封装动态sql查询的条件 实现代码 实现接口代码
点击查看代码
public List<Users> selectUsersByNameAndSex(UsersExample usersExample) {
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UsersMapper mapper = sqlSession.getMapper(UsersMapper.class);
        List<Users> list = mapper.selectByExample(usersExample);
        return list;
    }
主代码
点击查看代码
 public static void main(String[] args) {
        UsersService usersService = new UsersServiceImpl();
        UsersExample usersExample = new UsersExample();
        //这里是大的UsersExample,Criteria是内部类
        UsersExample.Criteria criteria = usersExample.createCriteria();
        criteria.andUsernameEqualTo("lgb");
        criteria.andUsersexEqualTo("nan");
        List<Users> list = usersService.selectUsersByNameAndSex(usersExample);
        list.forEach(System.out::println);
    }

2.2 or 链接
需要用 example 封装动态sql查询的条件
实现代码

点击查看代码
public static void main(String[] args) {
        UsersService usersService = new UsersServiceImpl();
        UsersExample usersExample = new UsersExample();
        //一次添加一个属性,后面用  usersExample 的 or  链接
        UsersExample.Criteria criteria = usersExample.createCriteria();
        criteria.andUsersexEqualTo("lgb");
        //第二个
        UsersExample.Criteria criteria1 = usersExample.createCriteria();
        criteria1.andUsersexEqualTo("nan");
        usersExample.or(criteria1);
        List<Users> list = usersService.selectUsersByNameOrSex(usersExample);
        list.forEach(System.out::println);
    }
posted @ 2021-12-07 13:30  风的指引  阅读(129)  评论(0)    收藏  举报