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

网站建设招标样本比wordpress好用

网站建设招标样本,比wordpress好用,网站建设88,短链接在线生成官网免费文章目录1 准备工作1.1 建表1.2 创建实体类1.3 引出一个问题方案1方案2方案32.完整代码项目结构EmpMapper接口Emp类SqlSessionUtils工具类EmpMapper.xmljdbc.propertieslog4j.xmlmybatis-config.xmlResultMapTest完整代码在后面 1 准备工作 1.1 建表 t_emp 添加测试数据 1.2 创建实体类 在src/main/java/com/rqs/mybatis/pojo下创建Emp类 Emp类 package com.rqs.mybatis.pojo;public class Emp {private Integer eid;private String empName;private Integer age;private String sex;private String email;public Integer getEid() {return eid;}public void setEid(Integer eid) {this.eid eid;}public String getEmpName() {return empName;}public void setEmpName(String empName) {this.empName empName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex sex;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}public Emp() {}public Emp(Integer eid, String empName, Integer age, String sex, String email) {this.eid eid;this.empName empName;this.age age;this.sex sex;this.email email;}Overridepublic String toString() {return Emp{ eid eid , empName empName \ , age age , sex sex \ , email email \ };} }1.3 引出一个问题 在之前实现查询功能的时候用到的都是resultType来设置默认的映射关系要求字段名数据库表中的字段名和属性名java类中的属性名保持一致例如下图所示字段名和属性名是一致的。 字段名 属性名 但是在本例中出现了字段名和属性名不一致的情况如下图 字段名要求单词与单词之间使用下划线连接 属性名单词与单词之间命名遵循驼峰原则 如下所示在进行查询操作的时候由于无法映射导致empName的查询结果为空 既然字段名和属性名不一致了那么该如何处理映射关系呢 方案1 在EmpMapper.xml的SQL语句中为字段起别名保持和属性名的一致 结果如下所示 方案2 在核心配置文件mybatis-config.xml中设置全局配置将_自动映射为驼峰 !--设置MyBatis的全局配置--!--将_自动映射为驼峰 --settingssetting namemapUnderscoreToCamelCase valuetrue//settings注意MyBatis核心配置文件标签的设置顺序要把settings放在properties和typeAlliases中间 properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?测试结果 方案3 在核心配置文件mybatis-config.xml中通过resultMap逐一设置自定义的映射关系 !--resultMap设置自定义映射关系id唯一标识不能重复type设置映射关系中的实体类类型子标签id专门用来设置主键的映射关系result设置普通字段的映射关系属性property设置映射关系中的属性名必须是type属性所设置的实体类类型中的属性名column设置映射关系中的字段名必须是sql语句查询出的字段名要注意1.属性名和字段名一致的话也要写property和column2.要在select标签中添加resultMap对应resultMap的id--resultMap idempResultMap typeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/result/resultMap!--ListEmp getAllEmp();--select idgetAllEmp resultMapempResultMapselect * from t_emp/select测试结果 2.完整代码 项目结构 EmpMapper接口 package com.rqs.mybatis.mapper;import com.rqs.mybatis.pojo.Emp; import org.apache.ibatis.annotations.Param;import java.util.List;public interface EmpMapper {/*** 查询所有的员工信息*/ListEmp getAllEmp();} Emp类 package com.rqs.mybatis.pojo;public class Emp {private Integer eid;private String empName;private Integer age;private String sex;private String email;public Integer getEid() {return eid;}public void setEid(Integer eid) {this.eid eid;}public String getEmpName() {return empName;}public void setEmpName(String empName) {this.empName empName;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex sex;}public String getEmail() {return email;}public void setEmail(String email) {this.email email;}public Emp() {}public Emp(Integer eid, String empName, Integer age, String sex, String email) {this.eid eid;this.empName empName;this.age age;this.sex sex;this.email email;}Overridepublic String toString() {return Emp{ eid eid , empName empName \ , age age , sex sex \ , email email \ };} } SqlSessionUtils工具类 package com.rqs.mybatis.utils;import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException; import java.io.InputStream;public class SqlSessionUtils {public static SqlSession getSqlSession() {SqlSession sqlSession null;try {InputStream inputStream Resources.getResourceAsStream(mybatis-config.xml);SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder().build(inputStream);sqlSession sqlSessionFactory.openSession(true);} catch (IOException e) {e.printStackTrace();}return sqlSession;} } EmpMapper.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.rqs.mybatis.mapper.EmpMapper!--resultMap设置自定义映射关系id唯一标识不能重复type设置映射关系中的实体类类型子标签id设置主键的映射关系result设置普通字段的映射关系属性property设置映射关系中的属性名必须是type属性所设置的实体类类型中的属性名column设置映射关系中的字段名必须是sql语句查询出的字段名--resultMap idempResultMap typeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/result/resultMap!--ListEmp getAllEmp();--select idgetAllEmp resultMapempResultMapselect * from t_emp/selectselect idgetAllEmpOld resultTypeEmp!--select eid,emp_name empName,age,sex,email from t_emp--select * from t_emp/select/mapperjdbc.properties jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://localhost:3306/mybatis 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 mybatis-config.xml ?xml version1.0 encodingUTF-8 ? !DOCTYPE configurationPUBLIC -//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtd configuration!-- MyBatis核心配置文件标签的顺序properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?--properties resourcejdbc.properties/properties!-- lt;!ndash;设置MyBatis的全局配置ndash;gt;settingssetting namemapUnderscoreToCamelCase valuetrue//settings--!--设置类型别名大小写不敏感。如果不设置alias则默认为类名大小写不敏感--typeAliases!--typeAlias: 设置某个类型的别名属性type 设置需要设置别名的类型alias 设置某个类型的别名如果不设置该属性那么该类型拥有默认的类名且不区分大小写--!--typeAlias typecom.rqs.mybatis.pojo.User aliasUser/typeAlias--!--推荐以包为单位将包下所有的类型设置默认的类型别名且不区分大小写--package namecom.rqs.mybatis.pojo//typeAliases!--设置连接数据库的环境--!--每一个environment都是具体连接数据库的环境--!--一个项目中只会用一个环境default用于使用默认使用的环境id表示连接数据库的环境的唯一标识 不能重复--environments defaultdevelopment!--transactionmanager:设置事务管理方式属性typeJDBC/MANAGEDJDBC: 在当前环境中执行sql时使用的时jdbc原声的事务管理方式需要手动的提交和回滚事务MANAGED被管理例如Spring--environment iddevelopmenttransactionManager typeJDBC/!-- dataSource配置数据源属性type设置数据源的类型typePOOLED:表示使用数据库连接池缓存数据库连接UNPOOLED表示不使用数据库连接池JNDI表示使用上下文中的数据源--dataSource typePOOLED!--设置连接数据库的驱动--property namedriver value${jdbc.driver}/!--设置连接地址--property nameurl value${jdbc.url}/!--注意如果在建sql表单的时候选了字符集如utf8这里的value要改成valuejdbc:mysql://localhost:3306/mybatis?characterEncodingutf8--!--用户名和密码--property nameusername value${jdbc.username}/property namepassword value${jdbc.password}//dataSource/environment/environments!--引入映射文件--mappers!--推荐以包为单位引入映射文件要求1。 mapper接口所在的包要和映射文件所在的包一致2。 mapper接口要和映射文件的名字一致--!-- com.rqs.mybatis.mapper创建包时要用/分隔这样才是目录否则这整一个就只是文件夹名字而已--package namecom.rqs.mybatis.mapper//mappers/configuration ResultMapTest package com.rqs.mybatis.test;import com.rqs.mybatis.mapper.EmpMapper; import com.rqs.mybatis.pojo.Emp; import com.rqs.mybatis.utils.SqlSessionUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test;import java.util.List;public class ResultMapTest {/*** 解决字段名和属性名不一致的情况* a为字段起别名保持和属性名的一致* b设置全局配置将_自动映射为驼峰* setting namemapUnderscoreToCamelCase valuetrue/* c通过resultMap设置自定义的映射关系* resultMap idempResultMap typeEmp* id propertyeid columneid/id* result propertyempName columnemp_name/result* result propertyage columnage/result* result propertysex columnsex/result* result propertyemail columnemail/result* /resultMap*/Testpublic void testGetAllEmp(){SqlSession sqlSession SqlSessionUtils.getSqlSession();EmpMapper mapper sqlSession.getMapper(EmpMapper.class);ListEmp list mapper.getAllEmp();list.forEach(emp - System.out.println(emp));}}
http://www.hkea.cn/news/14462802/

相关文章:

  • 北京网站开发联系电话策划公司职位
  • 网站改版协议云南网络推广服务
  • 最超值的郑州网站建设网店seo排名优化
  • 什么是网站后台建设住房和城建设网站
  • 网站网页设计的意义网站备案取消
  • dede免费手机网站模板.天津网站建设
  • wordpress网站在线安装企业电子商务网站平台建设
  • 哪些网站做英语比较好普通网站建设费用
  • 如何域名解析网站建设重庆市建立网站的网络公司
  • 用dw做的代码怎么放在网站上wordpress数据库文件
  • asp网站打开上海哪家seo好
  • 网站本地环境搭建软件素材网站设计
  • 我想做个网站怎么做 找谁做好网站查询ip
  • 企业网站管理系统最新4湖南岚鸿牛x1 0Typecho与wordpress
  • wordpress.org建站在阿里云做视频网站需要什么条件
  • iis网站模板建设培训网站办安全员c证
  • 网站设计制作工作室拓者设计吧邀请码免费
  • 湖南省水运建设投资集团网站住房和城乡建设部网站职责
  • 网页制作模板的淘宝网站代码实训做网站收获
  • 广西住房城乡和建设厅网站南乐网站建设
  • 用做网站使用的图片怎样做网站后台
  • 优秀个人博客网站淘客做的领券网站
  • 建设网站免费支持php高新区建网站外包
  • 松岗做网站费用网站 网址 域名
  • 上海英文网站建设网站设计外包协议
  • 学校网站查询给你一个网站你如何做优化
  • 深圳通信管理局网站wordpress开通邮件注册
  • 树莓派做网站服务器性能怎么样wordpress 菜单相册
  • 开源 html5网站模板上海营销网站建设公司
  • 网站提交做外链有什么作用免费广告推广