逆向工程
| <packaging>jar</packaging> |
| |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.mybatis</groupId> |
| <artifactId>mybatis</artifactId> |
| <version>3.5.7</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.12</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>mysql</groupId> |
| <artifactId>mysql-connector-java</artifactId> |
| <version>5.1.3</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>1.2.17</version> |
| </dependency> |
| <dependency> |
| <groupId>com.github.pagehelper</groupId> |
| <artifactId>pagehelper</artifactId> |
| <version>5.2.0</version> |
| </dependency> |
| </dependencies> |
| |
| |
| <build> |
| |
| <plugins> |
| |
| <plugin> |
| <groupId>org.mybatis.generator</groupId> |
| <artifactId>mybatis-generator-maven-plugin</artifactId> |
| <version>1.3.0</version> |
| |
| <dependencies> |
| |
| <dependency> |
| <groupId>org.mybatis.generator</groupId> |
| <artifactId>mybatis-generator-core</artifactId> |
| <version>1.3.2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.mchange</groupId> |
| <artifactId>c3p0</artifactId> |
| <version>0.9.2</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>mysql</groupId> |
| <artifactId>mysql-connector-java</artifactId> |
| <version>5.1.8</version> |
| </dependency> |
| </dependencies> |
| </plugin> |
| </plugins> |
| </build> |
| <?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE configuration |
| PUBLIC "-//mybatis.org//DTD Config 3.0//EN" |
| "http://mybatis.org/dtd/mybatis-3-config.dtd"> |
| <configuration> |
| |
| <properties resource="jdbc.properties"/> |
| |
| <typeAliases> |
| <package name="com.atguigu.mybatis.pojo"/> |
| </typeAliases> |
| |
| <environments default="development"> |
| <environment id="development"> |
| <transactionManager type="JDBC"/> |
| <dataSource type="POOLED"> |
| <property name="driver" value="${jdbc.driver}"/> |
| <property name="url" value="${jdbc.url}"/> |
| <property name="username" value="${jdbc.username}"/> |
| <property name="password" value="${jdbc.password}"/> |
| </dataSource> |
| </environment> |
| </environments> |
| |
| <mappers> |
| <package name="com.atguigu.mybatis.mapper"/> |
| </mappers> |
| |
| </configuration> |
| <?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> |
| <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> |
| <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> |
| <param name="Encoding" value="UTF-8" /> |
| <layout class="org.apache.log4j.PatternLayout"> |
| <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" /> |
| </layout> |
| </appender> |
| <logger name="java.sql"> |
| <level value="debug" /> |
| </logger> |
| <logger name="org.apache.ibatis"> |
| <level value="info" /> |
| </logger> |
| <root> |
| <level value="debug" /> |
| <appender-ref ref="STDOUT" /> |
| </root> |
| </log4j:configuration> |
| jdbc.driver=com.mysql.jdbc.Driver |
| jdbc.url=jdbc:mysql://localhost:3306/mybatis |
| jdbc.username=root |
| jdbc.password=123456 |
| <?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> |
| |
| |
| |
| |
| |
| <context id="DB2Tables" targetRuntime="MyBatis3"> |
| |
| <jdbcConnection driverClass="com.mysql.jdbc.Driver" |
| connectionURL="jdbc:mysql://localhost:3306/mybatis" |
| userId="root" |
| password="123456"> |
| </jdbcConnection> |
| |
| <javaModelGenerator targetPackage="com.atguigu.mybatis.pojo" targetProject=".\src\main\java"> |
| <property name="enableSubPackages" value="true" /> |
| <property name="trimStrings" value="true" /> |
| </javaModelGenerator> |
| |
| <sqlMapGenerator targetPackage="com.atguigu.mybatis.mapper" targetProject=".\src\main\resources"> |
| <property name="enableSubPackages" value="true" /> |
| </sqlMapGenerator> |
| |
| <javaClientGenerator type="XMLMAPPER" targetPackage="com.atguigu.mybatis.mapper" targetProject=".\src\main\java"> |
| <property name="enableSubPackages" value="true" /> |
| </javaClientGenerator> |
| |
| |
| |
| <table tableName="t_emp" domainObjectName="Emp"/> |
| <table tableName="t_dept" domainObjectName="Dept"/> |
| </context> |
| </generatorConfiguration> |
| @Test |
| public void testMBG(){ |
| try { |
| InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); |
| SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); |
| SqlSession sqlSession = sqlSessionFactory.openSession(true); |
| EmpMapper mapper = sqlSession.getMapper(EmpMapper.class); |
| |
| List<Emp> list = mapper.selectByExample(null); |
| list.forEach(emp -> System.out.println(emp)); |
| } catch (IOException e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| @Test |
| public void testMBG(){ |
| try { |
| InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); |
| SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); |
| SqlSession sqlSession = sqlSessionFactory.openSession(true); |
| EmpMapper mapper = sqlSession.getMapper(EmpMapper.class); |
| |
| EmpExample example = new EmpExample(); |
| |
| example.createCriteria().andEmpNameEqualTo("张三").andAgeGreaterThanOrEqualTo(20); |
| |
| example.or().andDidIsNotNull(); |
| |
| List<Emp> list = mapper.selectByExample(example); |
| |
| list.forEach(emp -> System.out.println(emp)); |
| } catch (IOException e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| # 常用方法简介 |
| andEmpNameBetween() 在什么之间 |
| andEmpNameEqualTo() 等于 |
| andEmpNameGreaterThan() 大于 |
| andEmpNameGreaterThanOrEqualTo() 大于等于 |
| andEmpNameIn() 在什么中 |
| andEmpNameIsNotNull() 不为null |
| andEmpNameIsNull() 为null |
| andEmpNameLessThan() 小于 |
| andEmpNameLessThanOrEqualTo() 小于等于 |
| andEmpNameLike() 模糊查询 |
| andEmpNameNotBetween 不在什么之间 |
| andEmpNameNotEqualTo 不等于 |
| andEmpNameNotIn() 不在什么中 |
| andEmpNameNoLike() 不包括某些字段 |
| |
| # 修改 |
| @Test |
| public void testMBG(){ |
| try { |
| InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); |
| SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); |
| SqlSession sqlSession = sqlSessionFactory.openSession(true); |
| EmpMapper mapper = sqlSession.getMapper(EmpMapper.class); |
| |
| mapper.updateByPrimaryKeySelective(new Emp(1,"admin",22,null,"456@qq.com",3)); |
| } catch (IOException e) { |
| e.printStackTrace(); |
| } |
| } |
分页插件
| # 导入依赖 |
| <dependency> |
| <groupId>com.github.pagehelper</groupId> |
| <artifactId>pagehelper</artifactId> |
| <version>5.2.0</version> |
| </dependency> |
| |
| # mybatis核心配置中开启分页 |
| <plugins> |
| |
| <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin> |
| </plugins> |
| |
| # 测试 |
| @Test |
| public void testPageHelper(){ |
| try { |
| InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); |
| SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); |
| SqlSession sqlSession = sqlSessionFactory.openSession(true); |
| EmpMapper mapper = sqlSession.getMapper(EmpMapper.class); |
| //开启分页 |
| PageHelper.startPage(6, 4); |
| List<Emp> list = mapper.selectByExample(null); |
| PageInfo<Emp> page = new PageInfo<>(list, 5); |
| System.out.println(page); |
| } catch (IOException e) { |
| e.printStackTrace(); |
| } |
| } |
| |
| # 返回数据简介 |
| pageNum:当前页的页码 |
| pageSize:每页显示的条数 |
| size:当前页显示的真实条数 |
| total:总记录数 |
| pages:总页数 |
| prePage:上一页的页码 |
| nextPage:下一页的页码 |
| isFirstPage/isLastPage:是否为第一页/最后一页 |
| hasPreviousPage/hasNextPage:是否存在上一页/下一页 |
| navigatePages:导航分页的页码数 |
| navigatepageNums:导航分页的页码,[1,2,3,4,5] |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决