resultMap1_自定义结果映射规则
生活随笔
收集整理的這篇文章主要介紹了
resultMap1_自定义结果映射规则
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、項目結(jié)構(gòu)
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.獲取接口的實現(xiàn)對象*/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"><!-- 指定主鍵的封裝規(guī)則id可以放在result標(biāo)簽內(nèi),自定義主鍵對底層有優(yōu)化column:指定哪一行property:指定對應(yīng)的javabean屬性--><id column="id" property="id"/><!-- 定義普通列封裝規(guī)則 ,其他不指定的列會自動封裝--><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>? ?①指定主鍵的封裝規(guī)則
id可以放在result標(biāo)簽內(nèi),自定義主鍵對底層有優(yōu)化column:指定哪一行property:指定對應(yīng)的javabean屬性②定義普通列封裝規(guī)則 ,其他不指定的列會自動封裝
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" /><!-- 配置數(shù)據(jù)庫連接信息 --><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:引用網(wǎng)絡(luò)路徑或磁盤下的sql映射文件file:///var/mappers/AuthorMapper.xmlclass:引用注冊接口①、有sql配置文件:映射文件名必須和接口同名,并且放在與接口同一目錄下②、沒有sql映射文件:所有的sql都是利用注解寫在接口上③、推薦:比較重要的,復(fù)雜的Dao接口,寫sql映射文件,便于維護不重要,簡單的Dao接口為了開發(fā)快速可以寫注解package:用于有sql映射文件的接口注冊<package name="com.atguigu.mybatis.dao"/>--><mapper resource="com/atguigu/mybatis/dao/EmployeeMapperPlus.xml"/><!-- <package name="com.atguigu.mybatis.dao"/> --></mappers> </configuration>?
轉(zhuǎn)載于:https://www.cnblogs.com/2016024291-/p/8236505.html
總結(jié)
以上是生活随笔為你收集整理的resultMap1_自定义结果映射规则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS - Rac(ReactiveCo
- 下一篇: DFS序