mybatis強化(二)Parameters和Result
阿新 • • 發佈:2017-05-04
pan har java onf 關系 throws efault type throw
本文通過一個簡單例子簡單記錄下參數的映射。轉載註明出處:http://www.cnblogs.com/wdfwolf3/p/6804243.html,謝謝。文件目錄如下,
1.配置文件mybatisconfig.xml如下,這裏簡要說明一下environments。MyBatis 可以配置成適應多種環境,這種機制有助於將 SQL 映射應用於多種數據庫之中,盡管可以配置多個環境,每個 SqlSessionFactory 實例只能選擇其一。所以,如果你想連接兩個數據庫,就需要創建兩個 SqlSessionFactory 實例,每個數據庫對應一個。在 MyBatis 中有兩種類型的事務管理器(也就是 type=”[JDBC|MANAGED]”),如果你正在使用 Spring + MyBatis,則沒有必要配置事務管理器, 因為 Spring 模塊會使用自帶的管理器來覆蓋前面的配置。dataSource 元素使用標準的 JDBC 數據源接口來配置 JDBC 連接對象的資源。有三種內建的數據源類型(也就是 type=”[UNPOOLED|POOLED|JNDI]”)。
<?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"> <transactionManagertype="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&characterEncoding=utf8"/> <property name="username" value="root" /> <property name="password" value="1234" /> </dataSource> </environment> </environments> <mappers> <mapper resource="com/practice/xml/UsersMapper.xml"/> </configuration>
2.Test測試函數如下,
package com.practice.Test; import com.practice.bean.Users; 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 Test3 { public static void main(String[] args) throws IOException { String resource = "mybatisconfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession();
//String statement = "com.practice.xml.UsersMapper.selectUser2"; String statement = "com.practice.xml.UsersMapper.selectUser"; Users user = session.selectOne(statement, "瓦房店"); session.close(); System.out.println(user.getId()); } }
3.UsersMapper.xml如下,這裏是兩種最基本的result映射,一是通過resultMap定義列與類字段的關系,二是通過別名方式映射列名到類字段名上。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.practice.xml.UsersMapper" > <resultMap id="userResultMap" type="com.practice.bean.Users"> <id property="id" column="id"/> <result property="name" column="name"/> <result property="age" column="age"/> </resultMap> <select id="selectUser" parameterType="string" resultMap="userResultMap"> select * from orders where name = #{name} </select> <select id="selectUser2" parameterType="string" resultType="com.practice.bean.Users"> select id as "id", name as "name", age as "age" from users where name = #{name} </select> </mapper>
mybatis強化(二)Parameters和Result