当前位置: 首页 > news >正文

宝安区网站建设东莞网站设计费用

宝安区网站建设,东莞网站设计费用,北京国际化品牌设计,电子商务网站建设和管理的意义目录 一#xff1a;MyBatis的逆向⼯程 1. 逆向⼯程配置与⽣成 2. 测试生成的逆向⼯程 一#xff1a;MyBatis的逆向⼯程 #xff08;1#xff09;所谓的逆向⼯程是#xff1a;根据数据库表逆向⽣成Java的pojo类#xff0c;SqlMapper.xml⽂件#xff0c;以及Mapper接⼝…目录 一MyBatis的逆向⼯程 1. 逆向⼯程配置与⽣成 2. 测试生成的逆向⼯程 一MyBatis的逆向⼯程 1所谓的逆向⼯程是根据数据库表逆向⽣成Java的pojo类SqlMapper.xml⽂件以及Mapper接⼝类等这真是一个很强大的功能。 要完成这个⼯作需要借助别⼈写好的逆向⼯程插件。 2思考使⽤这个插件的话需要给这个插件配置哪些信息 ①pojo类名、包名以及⽣成位置。 ②SqlMapper.xml⽂件名以及⽣成位置。 ③Mapper接⼝名以及⽣成位置。 ④连接数据库的信息。 ⑤指定哪些表参与逆向⼯程。  ...... 1. 逆向⼯程配置与⽣成 1基础环境准备 新建一个普通的Maven模块mybatis-012-generator 打包⽅式jar 2在pom.xml中添加逆向⼯程插件 ①先引入mybatis逆向⼯程的插件引入仓库中对应的插件坐标。 ②允许覆盖表示原来这些文件存在true就以覆盖的方式生成文件false就以追加的方式生成文件。 ③引入插件的依赖我们需要根据数据库表逆向生成pojo类、SqlMapper接口和里面的方法、SqlMapper.xml配置文件等所以肯定需要mysql的驱动。 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.bjpowernode/groupIdartifactIdmybatis-012-generator/artifactIdversion1.0-SNAPSHOT/versionpackagingjar/packaging!--定制构建过程--build!--可配置多个插件--plugins!--其中的⼀个插件mybatis逆向⼯程插件--plugin!--插件的GAV坐标--groupIdorg.mybatis.generator/groupIdartifactIdmybatis-generator-maven-plugin/artifactIdversion1.4.1/version!--允许覆盖--configurationoverwritetrue/overwrite/configuration!--插件的依赖--dependencies!--mysql驱动依赖--dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion5.1.23/version/dependency/dependencies/plugin/plugins/build/project 3配置generatorConfig.xml基础版 该⽂件名必须叫做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.dtdgeneratorConfiguration!--targetRuntime有两个值MyBatis3Simple生成的是基础版只有基本的增删改查。MyBatis3生成的是增强版除了基本的增删改查之外还有复杂的增删改查。--context idDB2Tables targetRuntimeMyBatis3Simple!--防止生成重复代码--plugin typeorg.mybatis.generator.plugins.UnmergeableXmlMappersPlugin/commentGenerator!--是否去掉生成日期--property namesuppressDate valuetrue/!--是否去除注释--property namesuppressAllComments valuetrue//commentGenerator!--连接数据库信息--jdbcConnection driverClasscom.mysql.jdbc.DriverconnectionURLjdbc:mysql://localhost:3306/mybatisuserIdrootpassword123/jdbcConnection!-- 生成pojo包名和位置 --javaModelGenerator targetPackagecom.bjpowernode.mybatis.pojo targetProjectsrc/main/java!--是否开启子包--property nameenableSubPackages valuetrue/!--是否去除字段名的前后空白--property nametrimStrings valuetrue//javaModelGenerator!-- 生成SQL映射文件的包名和位置 --sqlMapGenerator targetPackagecom.bjpowernode.mybatis.mapper targetProjectsrc/main/resources!--是否开启子包--property nameenableSubPackages valuetrue//sqlMapGenerator!-- 生成Mapper接口的包名和位置 --javaClientGeneratortypexmlMappertargetPackagecom.bjpowernode.mybatis.mappertargetProjectsrc/main/javaproperty nameenableSubPackages valuetrue//javaClientGenerator!-- 表名和对应的实体类名--table tableNamet_car domainObjectNameCar//context /generatorConfiguration 4双击运行插件就可以生成基础版的配置信息 自动生成的CarMapper接口、pojo类Car、CarMapper.xml配置文件 CarMapper接口 package com.bjpowernode.mybatis.mapper;import com.bjpowernode.mybatis.pojo.Car; import java.util.List;public interface CarMapper {int deleteByPrimaryKey(Long id);int insert(Car row);Car selectByPrimaryKey(Long id);ListCar selectAll();int updateByPrimaryKey(Car row); } pojo类Car 注生成的pojo类并没有重写toString方法 package com.bjpowernode.mybatis.pojo;import java.math.BigDecimal;public class Car {private Long id;private String carNum;private String brand;private BigDecimal guidePrice;private String produceTime;private String carType;Overridepublic String toString() {return Car{ id id , carNum carNum \ , brand brand \ , guidePrice guidePrice , produceTime produceTime \ , carType carType \ };}public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getCarNum() {return carNum;}public void setCarNum(String carNum) {this.carNum carNum null ? null : carNum.trim();}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand brand null ? null : brand.trim();}public BigDecimal getGuidePrice() {return guidePrice;}public void setGuidePrice(BigDecimal guidePrice) {this.guidePrice guidePrice;}public String getProduceTime() {return produceTime;}public void setProduceTime(String produceTime) {this.produceTime produceTime null ? null : produceTime.trim();}public String getCarType() {return carType;}public void setCarType(String carType) {this.carType carType null ? null : carType.trim();} } CarMapper.xml配置文件 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.bjpowernode.mybatis.mapper.CarMapperresultMap idBaseResultMap typecom.bjpowernode.mybatis.pojo.Carid columnid jdbcTypeBIGINT propertyid /result columncar_num jdbcTypeVARCHAR propertycarNum /result columnbrand jdbcTypeVARCHAR propertybrand /result columnguide_price jdbcTypeDECIMAL propertyguidePrice /result columnproduce_time jdbcTypeCHAR propertyproduceTime /result columncar_type jdbcTypeVARCHAR propertycarType //resultMapdelete iddeleteByPrimaryKey parameterTypejava.lang.Longdelete from t_carwhere id #{id,jdbcTypeBIGINT}/deleteinsert idinsert parameterTypecom.bjpowernode.mybatis.pojo.Carinsert into t_car (id, car_num, brand, guide_price, produce_time, car_type)values (#{id,jdbcTypeBIGINT}, #{carNum,jdbcTypeVARCHAR}, #{brand,jdbcTypeVARCHAR}, #{guidePrice,jdbcTypeDECIMAL}, #{produceTime,jdbcTypeCHAR}, #{carType,jdbcTypeVARCHAR})/insertupdate idupdateByPrimaryKey parameterTypecom.bjpowernode.mybatis.pojo.Carupdate t_carset car_num #{carNum,jdbcTypeVARCHAR},brand #{brand,jdbcTypeVARCHAR},guide_price #{guidePrice,jdbcTypeDECIMAL},produce_time #{produceTime,jdbcTypeCHAR},car_type #{carType,jdbcTypeVARCHAR}where id #{id,jdbcTypeBIGINT}/updateselect idselectByPrimaryKey parameterTypejava.lang.Long resultMapBaseResultMapselect id, car_num, brand, guide_price, produce_time, car_typefrom t_carwhere id #{id,jdbcTypeBIGINT}/selectselect idselectAll resultMapBaseResultMapselect id, car_num, brand, guide_price, produce_time, car_typefrom t_car/select /mapper 2. 测试生成的逆向⼯程 1环境准备 ①依赖mybatis依赖、mysql驱动依赖、junit依赖、logback依赖 ②jdbc.properties、mybatis-config.xml、logback.xml ③拷贝工具类SqlSessionUtil 2编写测试程序基础版 package com.bjpowernode.mybatis.test;import com.bjpowernode.mybatis.mapper.CarMapper; import com.bjpowernode.mybatis.pojo.Car; import com.bjpowernode.mybatis.utils.SqlSessionUtil; import org.apache.ibatis.session.SqlSession; import org.junit.Test;import java.util.List;public class CarMapperTest {Testpublic void testSelectAll(){SqlSession sqlSession SqlSessionUtil.openSession();CarMapper mapper sqlSession.getMapper(CarMapper.class);ListCar cars mapper.selectAll();cars.forEach(car - System.out.println(car));sqlSession.close();} }执行结果 3配置generatorConfig.xml增强版 生成了两个pojo类并且对于接口中的方法也变多了 CarMapper接口 package com.bjpowernode.mybatis.mapper;import com.bjpowernode.mybatis.pojo.Car; import com.bjpowernode.mybatis.pojo.CarExample; import java.util.List; import org.apache.ibatis.annotations.Param;public interface CarMapper {long countByExample(CarExample example);int deleteByExample(CarExample example);int deleteByPrimaryKey(Long id);int insert(Car row);int insertSelective(Car row);ListCar selectByExample(CarExample example);Car selectByPrimaryKey(Long id);int updateByExampleSelective(Param(row) Car row, Param(example) CarExample example);int updateByExample(Param(row) Car row, Param(example) CarExample example);int updateByPrimaryKeySelective(Car row);int updateByPrimaryKey(Car row); } pojo类Car package com.bjpowernode.mybatis.pojo;import java.math.BigDecimal;public class Car {private Long id;private String carNum;private String brand;private BigDecimal guidePrice;private String produceTime;private String carType;Overridepublic String toString() {return Car{ id id , carNum carNum \ , brand brand \ , guidePrice guidePrice , produceTime produceTime \ , carType carType \ };}public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getCarNum() {return carNum;}public void setCarNum(String carNum) {this.carNum carNum null ? null : carNum.trim();}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand brand null ? null : brand.trim();}public BigDecimal getGuidePrice() {return guidePrice;}public void setGuidePrice(BigDecimal guidePrice) {this.guidePrice guidePrice;}public String getProduceTime() {return produceTime;}public void setProduceTime(String produceTime) {this.produceTime produceTime null ? null : produceTime.trim();}public String getCarType() {return carType;}public void setCarType(String carType) {this.carType carType null ? null : carType.trim();} } pojo类CarExample封装查询条件的类 package com.bjpowernode.mybatis.pojo;import java.math.BigDecimal; import java.util.ArrayList; import java.util.List;public class CarExample {protected String orderByClause;protected boolean distinct;protected ListCriteria oredCriteria;public CarExample() {oredCriteria new ArrayList();}public void setOrderByClause(String orderByClause) {this.orderByClause orderByClause;}public String getOrderByClause() {return orderByClause;}public void setDistinct(boolean distinct) {this.distinct distinct;}public boolean isDistinct() {return distinct;}public ListCriteria getOredCriteria() {return oredCriteria;}public void or(Criteria criteria) {oredCriteria.add(criteria);}public Criteria or() {Criteria criteria createCriteriaInternal();oredCriteria.add(criteria);return criteria;}public Criteria createCriteria() {Criteria criteria createCriteriaInternal();if (oredCriteria.size() 0) {oredCriteria.add(criteria);}return criteria;}protected Criteria createCriteriaInternal() {Criteria criteria new Criteria();return criteria;}public void clear() {oredCriteria.clear();orderByClause null;distinct false;}protected abstract static class GeneratedCriteria {protected ListCriterion criteria;protected GeneratedCriteria() {super();criteria new ArrayList();}public boolean isValid() {return criteria.size() 0;}public ListCriterion getAllCriteria() {return criteria;}public ListCriterion getCriteria() {return criteria;}protected void addCriterion(String condition) {if (condition null) {throw new RuntimeException(Value for condition cannot be null);}criteria.add(new Criterion(condition));}protected void addCriterion(String condition, Object value, String property) {if (value null) {throw new RuntimeException(Value for property cannot be null);}criteria.add(new Criterion(condition, value));}protected void addCriterion(String condition, Object value1, Object value2, String property) {if (value1 null || value2 null) {throw new RuntimeException(Between values for property cannot be null);}criteria.add(new Criterion(condition, value1, value2));}public Criteria andIdIsNull() {addCriterion(id is null);return (Criteria) this;}public Criteria andIdIsNotNull() {addCriterion(id is not null);return (Criteria) this;}public Criteria andIdEqualTo(Long value) {addCriterion(id , value, id);return (Criteria) this;}public Criteria andIdNotEqualTo(Long value) {addCriterion(id , value, id);return (Criteria) this;}public Criteria andIdGreaterThan(Long value) {addCriterion(id , value, id);return (Criteria) this;}public Criteria andIdGreaterThanOrEqualTo(Long value) {addCriterion(id , value, id);return (Criteria) this;}public Criteria andIdLessThan(Long value) {addCriterion(id , value, id);return (Criteria) this;}public Criteria andIdLessThanOrEqualTo(Long value) {addCriterion(id , value, id);return (Criteria) this;}public Criteria andIdIn(ListLong values) {addCriterion(id in, values, id);return (Criteria) this;}public Criteria andIdNotIn(ListLong values) {addCriterion(id not in, values, id);return (Criteria) this;}public Criteria andIdBetween(Long value1, Long value2) {addCriterion(id between, value1, value2, id);return (Criteria) this;}public Criteria andIdNotBetween(Long value1, Long value2) {addCriterion(id not between, value1, value2, id);return (Criteria) this;}public Criteria andCarNumIsNull() {addCriterion(car_num is null);return (Criteria) this;}public Criteria andCarNumIsNotNull() {addCriterion(car_num is not null);return (Criteria) this;}public Criteria andCarNumEqualTo(String value) {addCriterion(car_num , value, carNum);return (Criteria) this;}public Criteria andCarNumNotEqualTo(String value) {addCriterion(car_num , value, carNum);return (Criteria) this;}public Criteria andCarNumGreaterThan(String value) {addCriterion(car_num , value, carNum);return (Criteria) this;}public Criteria andCarNumGreaterThanOrEqualTo(String value) {addCriterion(car_num , value, carNum);return (Criteria) this;}public Criteria andCarNumLessThan(String value) {addCriterion(car_num , value, carNum);return (Criteria) this;}public Criteria andCarNumLessThanOrEqualTo(String value) {addCriterion(car_num , value, carNum);return (Criteria) this;}public Criteria andCarNumLike(String value) {addCriterion(car_num like, value, carNum);return (Criteria) this;}public Criteria andCarNumNotLike(String value) {addCriterion(car_num not like, value, carNum);return (Criteria) this;}public Criteria andCarNumIn(ListString values) {addCriterion(car_num in, values, carNum);return (Criteria) this;}public Criteria andCarNumNotIn(ListString values) {addCriterion(car_num not in, values, carNum);return (Criteria) this;}public Criteria andCarNumBetween(String value1, String value2) {addCriterion(car_num between, value1, value2, carNum);return (Criteria) this;}public Criteria andCarNumNotBetween(String value1, String value2) {addCriterion(car_num not between, value1, value2, carNum);return (Criteria) this;}public Criteria andBrandIsNull() {addCriterion(brand is null);return (Criteria) this;}public Criteria andBrandIsNotNull() {addCriterion(brand is not null);return (Criteria) this;}public Criteria andBrandEqualTo(String value) {addCriterion(brand , value, brand);return (Criteria) this;}public Criteria andBrandNotEqualTo(String value) {addCriterion(brand , value, brand);return (Criteria) this;}public Criteria andBrandGreaterThan(String value) {addCriterion(brand , value, brand);return (Criteria) this;}public Criteria andBrandGreaterThanOrEqualTo(String value) {addCriterion(brand , value, brand);return (Criteria) this;}public Criteria andBrandLessThan(String value) {addCriterion(brand , value, brand);return (Criteria) this;}public Criteria andBrandLessThanOrEqualTo(String value) {addCriterion(brand , value, brand);return (Criteria) this;}public Criteria andBrandLike(String value) {addCriterion(brand like, value, brand);return (Criteria) this;}public Criteria andBrandNotLike(String value) {addCriterion(brand not like, value, brand);return (Criteria) this;}public Criteria andBrandIn(ListString values) {addCriterion(brand in, values, brand);return (Criteria) this;}public Criteria andBrandNotIn(ListString values) {addCriterion(brand not in, values, brand);return (Criteria) this;}public Criteria andBrandBetween(String value1, String value2) {addCriterion(brand between, value1, value2, brand);return (Criteria) this;}public Criteria andBrandNotBetween(String value1, String value2) {addCriterion(brand not between, value1, value2, brand);return (Criteria) this;}public Criteria andGuidePriceIsNull() {addCriterion(guide_price is null);return (Criteria) this;}public Criteria andGuidePriceIsNotNull() {addCriterion(guide_price is not null);return (Criteria) this;}public Criteria andGuidePriceEqualTo(BigDecimal value) {addCriterion(guide_price , value, guidePrice);return (Criteria) this;}public Criteria andGuidePriceNotEqualTo(BigDecimal value) {addCriterion(guide_price , value, guidePrice);return (Criteria) this;}public Criteria andGuidePriceGreaterThan(BigDecimal value) {addCriterion(guide_price , value, guidePrice);return (Criteria) this;}public Criteria andGuidePriceGreaterThanOrEqualTo(BigDecimal value) {addCriterion(guide_price , value, guidePrice);return (Criteria) this;}public Criteria andGuidePriceLessThan(BigDecimal value) {addCriterion(guide_price , value, guidePrice);return (Criteria) this;}public Criteria andGuidePriceLessThanOrEqualTo(BigDecimal value) {addCriterion(guide_price , value, guidePrice);return (Criteria) this;}public Criteria andGuidePriceIn(ListBigDecimal values) {addCriterion(guide_price in, values, guidePrice);return (Criteria) this;}public Criteria andGuidePriceNotIn(ListBigDecimal values) {addCriterion(guide_price not in, values, guidePrice);return (Criteria) this;}public Criteria andGuidePriceBetween(BigDecimal value1, BigDecimal value2) {addCriterion(guide_price between, value1, value2, guidePrice);return (Criteria) this;}public Criteria andGuidePriceNotBetween(BigDecimal value1, BigDecimal value2) {addCriterion(guide_price not between, value1, value2, guidePrice);return (Criteria) this;}public Criteria andProduceTimeIsNull() {addCriterion(produce_time is null);return (Criteria) this;}public Criteria andProduceTimeIsNotNull() {addCriterion(produce_time is not null);return (Criteria) this;}public Criteria andProduceTimeEqualTo(String value) {addCriterion(produce_time , value, produceTime);return (Criteria) this;}public Criteria andProduceTimeNotEqualTo(String value) {addCriterion(produce_time , value, produceTime);return (Criteria) this;}public Criteria andProduceTimeGreaterThan(String value) {addCriterion(produce_time , value, produceTime);return (Criteria) this;}public Criteria andProduceTimeGreaterThanOrEqualTo(String value) {addCriterion(produce_time , value, produceTime);return (Criteria) this;}public Criteria andProduceTimeLessThan(String value) {addCriterion(produce_time , value, produceTime);return (Criteria) this;}public Criteria andProduceTimeLessThanOrEqualTo(String value) {addCriterion(produce_time , value, produceTime);return (Criteria) this;}public Criteria andProduceTimeLike(String value) {addCriterion(produce_time like, value, produceTime);return (Criteria) this;}public Criteria andProduceTimeNotLike(String value) {addCriterion(produce_time not like, value, produceTime);return (Criteria) this;}public Criteria andProduceTimeIn(ListString values) {addCriterion(produce_time in, values, produceTime);return (Criteria) this;}public Criteria andProduceTimeNotIn(ListString values) {addCriterion(produce_time not in, values, produceTime);return (Criteria) this;}public Criteria andProduceTimeBetween(String value1, String value2) {addCriterion(produce_time between, value1, value2, produceTime);return (Criteria) this;}public Criteria andProduceTimeNotBetween(String value1, String value2) {addCriterion(produce_time not between, value1, value2, produceTime);return (Criteria) this;}public Criteria andCarTypeIsNull() {addCriterion(car_type is null);return (Criteria) this;}public Criteria andCarTypeIsNotNull() {addCriterion(car_type is not null);return (Criteria) this;}public Criteria andCarTypeEqualTo(String value) {addCriterion(car_type , value, carType);return (Criteria) this;}public Criteria andCarTypeNotEqualTo(String value) {addCriterion(car_type , value, carType);return (Criteria) this;}public Criteria andCarTypeGreaterThan(String value) {addCriterion(car_type , value, carType);return (Criteria) this;}public Criteria andCarTypeGreaterThanOrEqualTo(String value) {addCriterion(car_type , value, carType);return (Criteria) this;}public Criteria andCarTypeLessThan(String value) {addCriterion(car_type , value, carType);return (Criteria) this;}public Criteria andCarTypeLessThanOrEqualTo(String value) {addCriterion(car_type , value, carType);return (Criteria) this;}public Criteria andCarTypeLike(String value) {addCriterion(car_type like, value, carType);return (Criteria) this;}public Criteria andCarTypeNotLike(String value) {addCriterion(car_type not like, value, carType);return (Criteria) this;}public Criteria andCarTypeIn(ListString values) {addCriterion(car_type in, values, carType);return (Criteria) this;}public Criteria andCarTypeNotIn(ListString values) {addCriterion(car_type not in, values, carType);return (Criteria) this;}public Criteria andCarTypeBetween(String value1, String value2) {addCriterion(car_type between, value1, value2, carType);return (Criteria) this;}public Criteria andCarTypeNotBetween(String value1, String value2) {addCriterion(car_type not between, value1, value2, carType);return (Criteria) this;}}public static class Criteria extends GeneratedCriteria {protected Criteria() {super();}}public static class Criterion {private String condition;private Object value;private Object secondValue;private boolean noValue;private boolean singleValue;private boolean betweenValue;private boolean listValue;private String typeHandler;public String getCondition() {return condition;}public Object getValue() {return value;}public Object getSecondValue() {return secondValue;}public boolean isNoValue() {return noValue;}public boolean isSingleValue() {return singleValue;}public boolean isBetweenValue() {return betweenValue;}public boolean isListValue() {return listValue;}public String getTypeHandler() {return typeHandler;}protected Criterion(String condition) {super();this.condition condition;this.typeHandler null;this.noValue true;}protected Criterion(String condition, Object value, String typeHandler) {super();this.condition condition;this.value value;this.typeHandler typeHandler;if (value instanceof List?) {this.listValue true;} else {this.singleValue true;}}protected Criterion(String condition, Object value) {this(condition, value, null);}protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {super();this.condition condition;this.value value;this.secondValue secondValue;this.typeHandler typeHandler;this.betweenValue true;}protected Criterion(String condition, Object value, Object secondValue) {this(condition, value, secondValue, null);}} } CarMapper.xml配置文件 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.bjpowernode.mybatis.mapper.CarMapperresultMap idBaseResultMap typecom.bjpowernode.mybatis.pojo.Carid columnid jdbcTypeBIGINT propertyid /result columncar_num jdbcTypeVARCHAR propertycarNum /result columnbrand jdbcTypeVARCHAR propertybrand /result columnguide_price jdbcTypeDECIMAL propertyguidePrice /result columnproduce_time jdbcTypeCHAR propertyproduceTime /result columncar_type jdbcTypeVARCHAR propertycarType //resultMapsql idExample_Where_Clausewhereforeach collectionoredCriteria itemcriteria separatororif testcriteria.validtrim prefix( prefixOverridesand suffix)foreach collectioncriteria.criteria itemcriterionchoosewhen testcriterion.noValueand ${criterion.condition}/whenwhen testcriterion.singleValueand ${criterion.condition} #{criterion.value}/whenwhen testcriterion.betweenValueand ${criterion.condition} #{criterion.value} and #{criterion.secondValue}/whenwhen testcriterion.listValueand ${criterion.condition}foreach close) collectioncriterion.value itemlistItem open( separator,#{listItem}/foreach/when/choose/foreach/trim/if/foreach/where/sqlsql idUpdate_By_Example_Where_Clausewhereforeach collectionexample.oredCriteria itemcriteria separatororif testcriteria.validtrim prefix( prefixOverridesand suffix)foreach collectioncriteria.criteria itemcriterionchoosewhen testcriterion.noValueand ${criterion.condition}/whenwhen testcriterion.singleValueand ${criterion.condition} #{criterion.value}/whenwhen testcriterion.betweenValueand ${criterion.condition} #{criterion.value} and #{criterion.secondValue}/whenwhen testcriterion.listValueand ${criterion.condition}foreach close) collectioncriterion.value itemlistItem open( separator,#{listItem}/foreach/when/choose/foreach/trim/if/foreach/where/sqlsql idBase_Column_Listid, car_num, brand, guide_price, produce_time, car_type/sqlselect idselectByExample parameterTypecom.bjpowernode.mybatis.pojo.CarExample resultMapBaseResultMapselectif testdistinctdistinct/ifinclude refidBase_Column_List /from t_carif test_parameter ! nullinclude refidExample_Where_Clause //ifif testorderByClause ! nullorder by ${orderByClause}/if/selectselect idselectByPrimaryKey parameterTypejava.lang.Long resultMapBaseResultMapselect include refidBase_Column_List /from t_carwhere id #{id,jdbcTypeBIGINT}/selectdelete iddeleteByPrimaryKey parameterTypejava.lang.Longdelete from t_carwhere id #{id,jdbcTypeBIGINT}/deletedelete iddeleteByExample parameterTypecom.bjpowernode.mybatis.pojo.CarExampledelete from t_carif test_parameter ! nullinclude refidExample_Where_Clause //if/deleteinsert idinsert parameterTypecom.bjpowernode.mybatis.pojo.Carinsert into t_car (id, car_num, brand, guide_price, produce_time, car_type)values (#{id,jdbcTypeBIGINT}, #{carNum,jdbcTypeVARCHAR}, #{brand,jdbcTypeVARCHAR}, #{guidePrice,jdbcTypeDECIMAL}, #{produceTime,jdbcTypeCHAR}, #{carType,jdbcTypeVARCHAR})/insertinsert idinsertSelective parameterTypecom.bjpowernode.mybatis.pojo.Carinsert into t_cartrim prefix( suffix) suffixOverrides,if testid ! nullid,/ifif testcarNum ! nullcar_num,/ifif testbrand ! nullbrand,/ifif testguidePrice ! nullguide_price,/ifif testproduceTime ! nullproduce_time,/ifif testcarType ! nullcar_type,/if/trimtrim prefixvalues ( suffix) suffixOverrides,if testid ! null#{id,jdbcTypeBIGINT},/ifif testcarNum ! null#{carNum,jdbcTypeVARCHAR},/ifif testbrand ! null#{brand,jdbcTypeVARCHAR},/ifif testguidePrice ! null#{guidePrice,jdbcTypeDECIMAL},/ifif testproduceTime ! null#{produceTime,jdbcTypeCHAR},/ifif testcarType ! null#{carType,jdbcTypeVARCHAR},/if/trim/insertselect idcountByExample parameterTypecom.bjpowernode.mybatis.pojo.CarExample resultTypejava.lang.Longselect count(*) from t_carif test_parameter ! nullinclude refidExample_Where_Clause //if/selectupdate idupdateByExampleSelective parameterTypemapupdate t_carsetif testrow.id ! nullid #{row.id,jdbcTypeBIGINT},/ifif testrow.carNum ! nullcar_num #{row.carNum,jdbcTypeVARCHAR},/ifif testrow.brand ! nullbrand #{row.brand,jdbcTypeVARCHAR},/ifif testrow.guidePrice ! nullguide_price #{row.guidePrice,jdbcTypeDECIMAL},/ifif testrow.produceTime ! nullproduce_time #{row.produceTime,jdbcTypeCHAR},/ifif testrow.carType ! nullcar_type #{row.carType,jdbcTypeVARCHAR},/if/setif testexample ! nullinclude refidUpdate_By_Example_Where_Clause //if/updateupdate idupdateByExample parameterTypemapupdate t_carset id #{row.id,jdbcTypeBIGINT},car_num #{row.carNum,jdbcTypeVARCHAR},brand #{row.brand,jdbcTypeVARCHAR},guide_price #{row.guidePrice,jdbcTypeDECIMAL},produce_time #{row.produceTime,jdbcTypeCHAR},car_type #{row.carType,jdbcTypeVARCHAR}if testexample ! nullinclude refidUpdate_By_Example_Where_Clause //if/updateupdate idupdateByPrimaryKeySelective parameterTypecom.bjpowernode.mybatis.pojo.Carupdate t_carsetif testcarNum ! nullcar_num #{carNum,jdbcTypeVARCHAR},/ifif testbrand ! nullbrand #{brand,jdbcTypeVARCHAR},/ifif testguidePrice ! nullguide_price #{guidePrice,jdbcTypeDECIMAL},/ifif testproduceTime ! nullproduce_time #{produceTime,jdbcTypeCHAR},/ifif testcarType ! nullcar_type #{carType,jdbcTypeVARCHAR},/if/setwhere id #{id,jdbcTypeBIGINT}/updateupdate idupdateByPrimaryKey parameterTypecom.bjpowernode.mybatis.pojo.Carupdate t_carset car_num #{carNum,jdbcTypeVARCHAR},brand #{brand,jdbcTypeVARCHAR},guide_price #{guidePrice,jdbcTypeDECIMAL},produce_time #{produceTime,jdbcTypeCHAR},car_type #{carType,jdbcTypeVARCHAR}where id #{id,jdbcTypeBIGINT}/update /mapper 4编写测试程序增强版 1增强版的查询方式就比较特殊特别是根据条件查询是QBC 风格Query By Criteria 一种查询方式比较面向对象看不到sql语句 2条件查询步骤 ①先封装条件通过CarExample对象来封装查询条件 ②调用carExample.createCriteria()方法来创建查询条件后面通过 点. 的方式跟上方法 package com.bjpowernode.mybatis.test;import com.bjpowernode.mybatis.mapper.CarMapper; import com.bjpowernode.mybatis.pojo.Car; import com.bjpowernode.mybatis.pojo.CarExample; import com.bjpowernode.mybatis.utils.SqlSessionUtil; import org.apache.ibatis.session.SqlSession; import org.junit.Test;import java.math.BigDecimal; import java.util.List;public class CarMapperTest {Testpublic void testSelect(){SqlSession sqlSession SqlSessionUtil.openSession();CarMapper mapper sqlSession.getMapper(CarMapper.class);// 执行查询// 1. 查询一个Car car mapper.selectByPrimaryKey(34L);System.out.println(car);// 2. 查询所有selectByExample根据条件查询如果条件是null表示没有条件ListCar cars mapper.selectByExample(null);cars.forEach(car1 - System.out.println(car1));System.out.println();// 3.按照条件进行查询// QBC 风格Query By Criteria 一种查询方式比较面向对象看不到sql语句。// 3.1 封装条件通过CarExample对象来封装查询条件CarExample carExample new CarExample();// 3.2调用carExample.createCriteria()方法来创建查询条件carExample.createCriteria().andBrandLike(帕萨特).andGuidePriceGreaterThan(new BigDecimal(20.0));// 添加orcarExample.or().andCarTypeEqualTo(燃油车);// 执行查询ListCar cars1 mapper.selectByExample(carExample);cars1.forEach(car1 - System.out.println(car1));sqlSession.close();}}以上的SQL语句就等价于
http://www.hkea.cn/news/14468690/

相关文章:

  • 科技类网站模板包头市网站建设
  • 微信免费建站广州有哪些建筑公司
  • 旅游网站开发答辩ppt门头设计效果图大全
  • wordpress 不同站点中国的网站域名
  • 公司做网站怎么推广视频制作的基本流程是什么
  • 丹徒做网站有没有专门做外贸的网站
  • 学网站开发需要多久想建设个网站卖东西
  • 记事本做的网站链接怎么装饰wordpress aike主题
  • 专业网站优化排名wordpress登录后才允许浏览
  • 来宾住房与城乡建设网站微信网站开发模板
  • 如何帮网站长长沙网站制作
  • 网站后台免费模板下载互联网上市公司排名
  • 怎么用文本做网站天津住建网官网
  • 哪里建设网站好国内优秀网站案例
  • 建设手机网站包括哪些费用东莞网站优化的具体方案
  • 网络营销的培训课程上海百度seo牛巨微
  • 上海网站建设升中国域名注册
  • 儿童个人网站源码重庆专业微信商城建设公司
  • 用wordpress建公司网站步骤十九届六中全会
  • 网站改版 程序变了 原来的文章内容链接地址 打不开怎么办常州网站建设公司排名
  • 网站建设分几种编程语言网页ui
  • 电子商务网站建设实训报告范文wordpress同步到豆瓣
  • 免费制作个人网站站长工具seo推广
  • 百度营销-网站分析培训惠州外包网站建设
  • 专门做恐怖电影的网站西双版纳傣族自治州属于哪里
  • 做网站点击率赚钱办公室装修一般价格
  • 聊城做wap网站哪儿好租用服务器做视频网站
  • 做汽车的网站编辑广东短视频运营推广
  • 元谋网站建设asp网站手机模版
  • 杭州做网站的公司排行网站布局图片