微商城网站建设代理商,网页公正流程,贺州做网站哪家公司,自己的网站怎么做搜索一、MyBatis的逆向工程
正向工程:先创建java实体类#xff0c;由框架负责根据实体类生成数据库表。Hibernate是支持正向工程逆向工程:先创建数据库表#xff0c;由框架负责根据数据库表#xff0c;反向生成如下资源#xff1a; Java实体类 Mapper接口 Mapper映射文件
1.创…一、MyBatis的逆向工程
正向工程:先创建java实体类由框架负责根据实体类生成数据库表。Hibernate是支持正向工程逆向工程:先创建数据库表由框架负责根据数据库表反向生成如下资源 Java实体类 Mapper接口 Mapper映射文件
1.创建逆向工程的步骤—简洁版
根据主键删除增加一条记录修改一条记录查询所有的记录根据主键查询一条记录
①在pom.xml添加依赖和插件
packagingjar/packagingdependencies!-- MyBatis核心依赖包 --dependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.7/version/dependency!-- junit测试 --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopetest/scope/dependency!-- MySQL驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.3/version/dependency!-- log4j日志 --dependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.17/version/dependency
/dependencies
!-- 控制Maven在构建过程中相关配置 --
build!-- 构建过程中用到的插件 --plugins!-- 具体插件逆向工程的操作是以构建过程中插件形式出现的 --plugingroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-maven-plugin/artifactIdversion1.3.0/version!-- 插件的依赖 --dependencies!-- 逆向工程的核心依赖 --dependencygroupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-core/artifactIdversion1.3.2/version/dependency!-- 数据库连接池 --dependencygroupIdcom.mchange/groupIdartifactIdc3p0/artifactIdversion0.9.2/version/dependency!-- MySQL驱动 --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.3/version/dependency/dependencies/plugin/plugins
/build②创建MyBatis的核心配置文件 ?xml version1.0 encodingUTF-8 ?
!DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd
configuration!--引入jdbc.properties--properties resourcejdbc.properties/!--设置MyBatis的全局配置--settings!--将表中字段的下划线自动转换为驼峰--setting namemapUnderscoreToCamelCase valuetrue//settings!--默认的类型别名--!--不设置alias,默认就是类名,不区分大小写--typeAliasespackage namecom.atguigu.mybatis.pojo//typeAliases!--配置数据库的环境--environments defaultdevelopmentenvironment iddevelopmenttransactionManager typeJDBC/dataSource typePOOLEDproperty namedriver value${jdbc.driver}/property nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environments!--以包为单位将包下所有的映射文件引入核心配置文件注意1. 此方式必须保证mapper接口和mapper映射文件必须在相同的包下2. mapper接口要和mapper映射文件的名字一致--mapperspackage namecom.atguigu.mybatis.mapper//mappers
/configurationjdbc.properties
jdbc.drivercom.mysql.jdbc.Driver
jdbc.urljdbc:mysql://localhost:3306/atguigu
jdbc.usernameroot
jdbc.passwordrootlog4j.xml
?xml version1.0 encodingUTF-8 ?
!DOCTYPE log4j:configuration SYSTEM log4j.dtd
log4j:configuration xmlns:log4jhttp://jakarta.apache.org/log4j/appender nameSTDOUT classorg.apache.log4j.ConsoleAppenderparam nameEncoding valueUTF-8 /layout classorg.apache.log4j.PatternLayoutparam nameConversionPattern value%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n //layout/appenderlogger namejava.sqllevel valuedebug //loggerlogger nameorg.apache.ibatislevel valueinfo //loggerrootlevel valuedebug /appender-ref refSTDOUT //root
/log4j:configuration③创建逆向工程的配置文件
文件名必须是generatorConfig.xml
?xml version1.0 encodingUTF-8?
!DOCTYPE generatorConfigurationPUBLIC -//mybatis.org//DTD MyBatis Generator Configuration 1.0//ENhttp://mybatis.org/dtd/mybatis-generator-config_1_0.dtd
generatorConfiguration!--targetRuntime: 执行生成的逆向工程的版本1. MyBatis3Simple: 生成基本的CRUD清新简洁版2. MyBatis3: 生成带条件的CRUD奢华尊享版--context idDB2Tables targetRuntimeMyBatis3Simple!-- 数据库的连接信息 --jdbcConnection driverClasscom.mysql.jdbc.DriverconnectionURLjdbc:mysql://localhost:3306/atguiguuserIdrootpasswordroot/jdbcConnection!-- javaBean的生成策略--javaModelGenerator targetPackagecom.atguigu.mybatis.pojo targetProject.\src\main\javaproperty nameenableSubPackages valuetrue /property nametrimStrings valuetrue //javaModelGenerator!-- SQL映射文件的生成策略 --sqlMapGenerator targetPackagecom.atguigu.mybatis.mappertargetProject.\src\main\resourcesproperty nameenableSubPackages valuetrue //sqlMapGenerator!-- Mapper接口的生成策略 --javaClientGenerator typeXMLMAPPERtargetPackagecom.atguigu.mybatis.mapper targetProject.\src\main\javaproperty nameenableSubPackages valuetrue //javaClientGenerator!-- 逆向分析的表 --!-- tableName设置为*号可以对应所有表此时不写domainObjectName --!-- domainObjectName属性指定生成出来的实体类的类名 --table tableNamet_emp domainObjectNameEmp/table tableNamet_dept domainObjectNameDept//context
/generatorConfiguration④执行
执行前 执行后 自动生成增删改查的代码 2.创建逆向工程的步骤—奢华版 countByExample根据属性条件查询记录数deleteByExample根据属性删除记录数deleteByPrimaryKey根据主键删除insert插入一条记录insertSelective根据现有的属性插入一条记录selectByExample根据条件进行查询selectByPrimaryKey根据主键进行查询updateByExampleSelective根据条件进行更新
①context idDB2Tables targetRuntimeMyBatis3 ②在Maven下双击插件 根据条件进行查询emp.createCriteria().andAgeBetween(x1,x2);查询年龄x1-x2之间 .andAgeEqualTo(x) 查询年龄是x的 . andAgeGreaterThan(x);查询年龄大于x的 . andAgeGreaterThanOrEqualTo(x):大于等于x的 链式条件 emp.createCriteria().andEmpNameEqualTo(张三).andSexEqualTo(男); or emp.createCriteria().andEmpNameEqualTo(张三); emp.or().andEmpNameEqualTo(李四); 查询名字是张三或者李四的 增改 updateByPrimaryKey通过主键进行数据修改如果某一个值为null也会将对应的字段改为null updateByPrimaryKeySelective()通过主键进行选择性数据修改如果某个值为null则不修改这个字段