1、项目结构

2、Employee.java

package com.atguigu.mybatis.bean;public class Employee {private Integer id;private String lastName;private String email;private String gender;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getLastName() {return lastName;}public void setLastName(String lastName) {this.lastName = lastName;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}@Overridepublic String toString() {return "Employee [id=" + id + ", lastName=" + lastName + ", email=" + email + ", gender=" + gender + "]";}public Employee(Integer id, String lastName, String email, String gender) {super();this.id = id;this.lastName = lastName;this.email = email;this.gender = gender;}public Employee() {super();// TODO Auto-generated constructor stub
    }}

3、EmployeeMapperPlus.java

package com.atguigu.mybatis.dao;import java.util.List;
import java.util.Map;import org.apache.ibatis.annotations.MapKey;import com.atguigu.mybatis.bean.Employee;public interface EmployeeMapperPlus {public Employee getEmpById(Integer id);}

4、MybatisTest.java

package com.atguigu.mybatis.test;import java.io.IOException;
import java.io.InputStream;
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 org.junit.Test;import com.atguigu.mybatis.bean.Employee;
import com.atguigu.mybatis.dao.EmployeeMapperPlus;public class MybatisTest {private SqlSessionFactory getSqlSessionFactory() throws IOException {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);return new SqlSessionFactoryBuilder().build(inputStream);}@Testpublic void test05() throws IOException {SqlSessionFactory sqlSessionFactory =getSqlSessionFactory();//1、获取到的SqlSession不会自动提交SqlSession openSession= sqlSessionFactory.openSession();try {/*2.获取接口的实现对象*/EmployeeMapperPlus mapper= openSession.getMapper(EmployeeMapperPlus.class);Employee employee=mapper.getEmpById(1);System.out.println(employee);//3、手动提交
            openSession.commit();} finally {openSession.close();}}}

5、EmployeeMapperPlus.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.atguigu.mybatis.dao.EmployeeMapperPlus"><resultMap type="com.atguigu.mybatis.bean.Employee" id="MyEmp"><!-- 指定主键的封装规则id可以放在result标签内,自定义主键对底层有优化column:指定哪一行property:指定对应的javabean属性--><id column="id" property="id"/><!-- 定义普通列封装规则 ,其他不指定的列会自动封装--><result column="last_name" property="lastName"/></resultMap><!-- public Employee getEmpById(Integer id); --><select id="getEmpById" resultMap="MyEmp">select * from tbl_employee where id=#{id}</select>
</mapper>

①指定主键的封装规则

   id可以放在result标签内,自定义主键对底层有优化column:指定哪一行property:指定对应的javabean属性②定义普通列封装规则 ,其他不指定的列会自动封装

6、log4j.xml

<?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"><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="debug" /></logger><root><level value="debug" /><appender-ref ref="STDOUT" /></root>
</log4j:configuration>

7、mybatis-config.xml

<?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><environments default="development"><environment id="development"><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mybatis" /><property name="username" value="root" /><property name="password" value="111111" /></dataSource></environment></environments><mappers><!-- 注册userMapper.xml文件, resoure:引用类路径下的sql映射文件 mybatis/mapper/EmployeeMapper.xmlurl:引用网络路径或磁盘下的sql映射文件file:///var/mappers/AuthorMapper.xmlclass:引用注册接口①、有sql配置文件:映射文件名必须和接口同名,并且放在与接口同一目录下②、没有sql映射文件:所有的sql都是利用注解写在接口上③、推荐:比较重要的,复杂的Dao接口,写sql映射文件,便于维护不重要,简单的Dao接口为了开发快速可以写注解package:用于有sql映射文件的接口注册<package name="com.atguigu.mybatis.dao"/>--><mapper resource="com/atguigu/mybatis/dao/EmployeeMapperPlus.xml"/><!-- <package name="com.atguigu.mybatis.dao"/> --></mappers> </configuration>

转载于:https://www.cnblogs.com/2016024291-/p/8236505.html

resultMap1_自定义结果映射规则相关推荐

  1. mybaits九:自定义结果映射规则

    定义接口: package com.atChina.dao;import com.atChina.bean.Employee;public interface EmployeePlusMapper { ...

  2. zuul 自定义路由映射规则

    zuul本射自动创建eureka中的服务的路由 转载于:https://www.cnblogs.com/wangjing666/p/7089579.html

  3. MyBatis使用resultMap自定义映射规则与关联映射

    一.写在前面 在MyBatis 的全局配置文件中我们可以通过在settings标签中设置 <setting name="mapUnderscoreToCamelCase" v ...

  4. [mybatis]select_resultMap_自定义结果集映射规则

    resultMap 自定义某个javaBean的封装规则 type:自定义规则的Java类型 id:唯一id方便引用 指定主键列的封装规则 id:定义主键底层会有优化 column:指定哪一列 pro ...

  5. 荣耀路由pro没有虚拟服务器,荣耀路由怎么设置端口映射规则

    端口映射功能,可以将荣耀路由 WAN IP 的一个端口映射到局域网中的一台计算机上.当因特网用户访问该 IP 的该端口时,荣耀路由将会自动将该请求映射到已指定的计算机上,并通过该计算机对外提供服务.如 ...

  6. 华为A1路由器虚拟服务器,华为a1路由器怎么设置端口映射规则

    华为a1路由器可以设置端口触发规则,也可以设置端口映射规则,前者小编已经和大家聊过,今天再来聊聊怎么设置端口映射规则,如果您感兴趣的话那就快来看看吧! 设置端口映射规则步骤 第一步: 电脑连接到路由器 ...

  7. MyCat分片规则(全局表,ER分片表,多对多关联,主键分片VS非主键分片),MyCat常用的分片规则(15中分片规则),自定义MyCat分片规则,其它术语

    1 MyCat分片规则 数据切分中重要的几条原则,其中有几条数据冗余,表分组(Table Group). 1.1全局表 如果你的业务中有些数据类似于数据字典,比如配置文件的配置,常用业务的配置或数据量 ...

  8. 华为荣耀2s设置虚拟服务器教程,荣耀路由2S怎么设置端口映射规则

    荣耀路由2S除了可以让用户玩转wifi之外还有一些比较高级的玩法,例如设置端口触发规则和设置端口映射规则等等.前者小编已经和大家聊过了,今天小编再来告诉大家怎么设置端口映射规则,快来看看吧! 设置端口 ...

  9. 荣耀路由x1 虚拟服务器,荣耀路由X1增强版怎么设置端口映射规则

    荣耀路由X1增强版既可以设置端口触发规则也可以设置端口映射规则,例如从因特网实时访问家庭网络摄像头.控制家庭网络中的智能设备等等.如果您还不知道怎么操作的话那就让小编来告诉您吧! 设置端口映射规则步骤 ...

最新文章

  1. Fedora20下安装VLC
  2. 归纳DOM事件中各种阻止方法
  3. Apache Web Server - httpd的HTTP的多路处理模块MPM
  4. protobuf oc
  5. js模版引擎handlebars.js实用教程——with-终极this应用
  6. OpenSSH 密钥管理:RSA/DSA 认证(转载)
  7. HTML中元素的position属性详解
  8. fir.im Weekly - 工欲善其事,必先利其器
  9. 本周小结!(二叉树系列之四)
  10. 【观点讨论与支撑】读书到底有没有用?
  11. 免费 WebOffice使用
  12. 计算机网络基础知识框架
  13. java clone 对象_为什么阿里Java手册推荐慎用 Object 的 clone 方法来拷贝对象
  14. Layer Norm
  15. oracle 表在线重建,大表在线重建索引的考虑和碰到的限制问题-ORA-1450
  16. windows中使用钩子拦截消息
  17. iPhone 3G(是iPhone系列中的第二代)
  18. 【Sanic】Sanic应用 2
  19. 树莓派4支持多大tf卡_从零开始用一根网线玩转树莓派
  20. 如何穿黑裙:黑群晖安装和设置纯文字流水账

热门文章

  1. 对计算机领域中间层的理解
  2. 做一个java项目要经过那些正规的步骤
  3. datagrid后台分页js.js
  4. html中加入超链接方式的汇总
  5. JavaScript语言调试技巧
  6. 个人笔记:ORACLE大页内存hugepage和SGA、PGA的经验,SGA并不是越大越好
  7. Kotlin 喧嚣过后,谈谈 Java 程序员未来的出路
  8. [硬件]SICK LMS111激光扫描仪使用
  9. window.open与window.location.href
  10. Windows 10推出周年更新,Edge浏览器支持扩展并改进JavaScript支持