• Mybatis逆向工程


    1、针对以下数据表

    Id

    name

    addr

    age

    job

    sal

    1

    张三

    江苏省南京市

    35

    区域总监

    20000

    2

    李四

    江苏省苏州市

    32

    销售经理

    15000

    3

    王五

    四川省成都市

    26

    销售员

    8000

    4

    赵六

    吉林省长春市

    27

    财务

    10000

    5

    刘七

    吉林省吉林市

    24

    销售员

    6000

    6

    吴八

    陕西省西安市

    31

    销售员

    7000

    使用mybatis逆向工程,生成对应的modelmapper处理

    2、调用逆向工程API向其中插入数据

    Id

    name

    addr

    age

    job

    sal

    7

    张丽

    江苏省南京市

    32

    销售员

    7000

    8

    张伟

    江苏省苏州市

    26

    职员

    5000

    9

    王晓

    上海市

    30

    区域总监

    20000

    10

    赵敏

    上海市

    25

    财务

    10000

    3、调用逆向工程API及分页插件,使用查询江苏省员工信息,每3条数据一页

    4、调用逆向工程API将所有27岁以上的销售员,工资加1000

    5、调用逆向工程API将陕西省员工删除

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
            PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
            "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    
    <generatorConfiguration>
        <classPathEntry location="C:\JavaHome\m2\mysql\mysql-connector-java\8.0.26\mysql-connector-java-8.0.26.jar" />
    
        <context id="mysqlTables" targetRuntime="MyBatis3">
            <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8&amp;useUnicode=true&amp;serverTimezone=GMT%2B8&amp;useSSL=false"
                            userId="root"
                            password="zengyu1234">
            </jdbcConnection>
    
            <javaTypeResolver >
                <property name="forceBigDecimals" value="false" />
    
            </javaTypeResolver>
    
            <javaModelGenerator targetPackage="com.xzit.model" targetProject=".\src\main\java">
                <property name="enableSubPackages" value="true" />
                <property name="trimStrings" value="true" />
            </javaModelGenerator>
    
            <sqlMapGenerator targetPackage="com.xzit.mapper"  targetProject=".\src\main\java">
                <property name="enableSubPackages" value="true" />
            </sqlMapGenerator>
    
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.xzit.mapper"  targetProject=".\src\main\java">
                <property name="enableSubPackages" value="true" />
            </javaClientGenerator>
    
            <table tableName="teacher"></table>
        </context>
    </generatorConfiguration>
    package com.xzit.test;
    
    import com.xzit.mapper.TeacherMapper;
    import com.xzit.model.Teacher;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.IOException;
    
    public class TestInsertTeacher {
        public static void main(String[] args) throws IOException {
            SqlSession session = new SqlSessionFactoryBuilder().build(
                    Resources.getResourceAsStream("SqlMapConfig.xml")).openSession();
            TeacherMapper mapper=session.getMapper(TeacherMapper.class);
            mapper.insert(new Teacher(0,"张丽","江苏省南京市",32,"销售员",7000));
            mapper.insert(new Teacher(0,"张伟","江苏省苏州市",26,"职员",5000));
            mapper.insert(new Teacher(0,"王晓","上海市",30,"区域总监",20000));
            mapper.insert(new Teacher(0,"赵敏","上海市",25,"财务",10000));
            session.commit();
            session.close();
        }
    }
    package com.xzit.test;
    
    import com.github.pagehelper.PageHelper;
    import com.github.pagehelper.PageInfo;
    import com.xzit.mapper.TeacherMapper;
    import com.xzit.model.Teacher;
    import com.xzit.model.TeacherExample;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.IOException;
    import java.util.List;
    
    /*3、调用逆向工程API及分页插件,使用查询江苏省员工信息,每3条数据一页*/
    public class TestSelect {
        public static void main(String[] args) throws IOException {
            SqlSession session = new SqlSessionFactoryBuilder().build(
                    Resources.getResourceAsStream("SqlMapConfig.xml")).openSession();
            TeacherMapper mapper=session.getMapper(TeacherMapper.class);
            //使用分页查询插件,从第1页开始,每页显示2个
            PageHelper.startPage(2,2);
            TeacherExample example = new TeacherExample();
            example.createCriteria().andAddrLike("%江苏省%");
            List<Teacher> list = mapper.selectByExample(example);
            //将list封装到分页查询对象中
            PageInfo<Teacher> page = new PageInfo<>(list);
            //使用list接收查询结果
            List<Teacher> teachers = page.getList();
            teachers.forEach(System.out::println);
            session.close();
        }
    }
    package com.xzit.test;
    
    import com.xzit.mapper.TeacherMapper;
    import com.xzit.model.Teacher;
    import com.xzit.model.TeacherExample;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.IOException;
    import java.util.List;
    
    /*4、调用逆向工程API将所有27岁以上的销售员,工资加1000元*/
    public class TestUpdate {
        public static void main(String[] args) throws IOException {
            SqlSession session = new SqlSessionFactoryBuilder().build(
                    Resources.getResourceAsStream("SqlMapConfig.xml")).openSession();
            TeacherMapper mapper=session.getMapper(TeacherMapper.class);
            //创建查询对象,先查询出27岁以上的员工
            TeacherExample example = new TeacherExample();
            example.createCriteria().andAgeGreaterThan(27);
            //将超过27岁的员工存进list
            List<Teacher> list = mapper.selectByExample(example);
            //使用for遍历符合条件的每一位员工
            for (Teacher teacherlist:list){
                //将该员工的工资加1000,对象封装成teacherlist
                teacherlist.setSal(teacherlist.getSal()+1000);
                //创建一个对象2
                TeacherExample example2 = new TeacherExample();
                //设置查询条件是该员工的id,查到数据库的这个员工
                example2.createCriteria().andIdEqualTo(teacherlist.getId());
                //使用teacherlist更新这个员工的信息
                mapper.updateByExampleSelective(teacherlist,example2);
                //提交事务
                session.commit();
            }
            session.close();
        }
    }
    package com.xzit.test;
    
    import com.xzit.mapper.TeacherMapper;
    import com.xzit.model.TeacherExample;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.IOException;
    
    /*5、调用逆向工程API将陕西省员工删除*/
    public class TestDelete {
        public static void main(String[] args) throws IOException {
            SqlSession session = new SqlSessionFactoryBuilder().build(
                    Resources.getResourceAsStream("SqlMapConfig.xml")).openSession();
            TeacherMapper mapper=session.getMapper(TeacherMapper.class);
            TeacherExample example = new TeacherExample();
            example.createCriteria().andAddrLike("%陕西省%");
            mapper.deleteByExample(example);
            session.commit();
            session.close();
        }
    }
  • 相关阅读:
    mysql压缩版安装
    网站还没加载完成时,显示正在加载的画面
    LESS基础教程
    用CSS编写多种常见的图形
    JavaScript的this
    JavaScript的闭包
    立即执行函数表达式(自执行函数)
    JavaScript的全局变量
    关于async function(){ let res = await } 详解
    mysql数据库的系统操作基本操作
  • 原文地址:https://www.cnblogs.com/zengyu1234/p/16256184.html
Copyright © 2020-2023  润新知