mybaits一:初步认识mybatis
生活随笔
收集整理的這篇文章主要介紹了
mybaits一:初步认识mybatis
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
定義bean,對應數據庫中的表
package com.atChina.bean;public class Employee {private Integer deptno;private String dname;private String loc;public int getDeptno() {return deptno;}public void setDeptno(int deptno) {this.deptno = deptno;}public String getDname() {return dname;}public void setDname(String dname) {this.dname = dname;}public String getLoc() {return loc;}@Overridepublic String toString() {return "Employee [deptno=" + deptno + ", dname=" + dname + ", loc="+ loc + "]";}public void setLoc(String loc) {this.loc = loc;} }?
?
?sql映射文件
<?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"> <!-- namespace是一個名稱空間,要自定義 --> <mapper namespace="com.atChina.mybatis.EmployeeMapper"><!-- id:唯一標識 resultType: 返回值類型#{deptno}:參數 --><selectid="selectEmp" resultType="com.atChina.bean.Employee">select * from DEPTTEST where deptno = #{deptno}</select> </mapper>全局配置文件?
<?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"><propertyname="driver"value="oracle.jdbc.OracleDriver" /><propertyname="url"value="jdbc:oracle:thin:@localhost:1521:orcl" /><propertyname="username"value="scott" /><propertyname="password"value="123456" /></dataSource></environment></environments><!-- 把sql映射文件(EmployeeMapper.xml)一定要注冊到全局配置文件(mybatis-config.xml)中 --><mappers><mapper resource="EmployeeMapper.xml" /></mappers> </configuration>?
?
?
執行sql,測試代碼:
package com.atChina.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.atChina.bean.Employee;public class MyBatisTest {/** 1.根據xml配置文件(全局配置文件),創建一個SqlSessionFactory對象* 有數據源一些運行環境信息* 2.sql映射文件:配置了每一個sql,以及sql的封裝規則等* 3.將sql映射文件注冊到全局文件中* 4.寫代碼* 1).根據全局配置文件得到 SqlSessionFactory* 2).使用sqlSession工廠,獲取到sqlSession對象,使用他來執行增刪改查* 一個sqlSession就是代表和數據庫的一次會話,使用完要關閉sqlSession* 3).使用sql的唯一標識來告訴mybatis來執行哪個sql,sql都是保存在sql映射文件中的.*/@Testpublic void test() throws IOException {String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession openSession = sqlSessionFactory.openSession();try{// 命名空間.id,這樣別的配置文件里有同名的id,程序也不報錯Employee em = openSession.selectOne("com.atChina.mybatis.EmployeeMapper.selectEmp", 10);System.out.println(em);}finally{// 關閉openSession.close();}} }執行結果如下:
[CateringLog] 2019-03-25 17:16:07,227 DEBUG org.apache.ibatis.datasource.pooled.PooledDataSource - Created connection 1304140376. [CateringLog] 2019-03-25 17:16:07,229 DEBUG com.atChina.mybatis.EmployeeMapper.selectEmp - ooo Using Connection [oracle.jdbc.driver.T4CConnection@4dbb9a58] [CateringLog] 2019-03-25 17:16:07,229 DEBUG com.atChina.mybatis.EmployeeMapper.selectEmp - ==> Preparing: select * from DEPTTEST where deptno = ? [CateringLog] 2019-03-25 17:16:07,306 DEBUG com.atChina.mybatis.EmployeeMapper.selectEmp - ==> Parameters: 10(Integer) [CateringLog] 2019-03-25 17:16:07,338 DEBUG com.atChina.mybatis.EmployeeMapper.selectEmp - <== Columns: DEPTNO, DNAME, LOC [CateringLog] 2019-03-25 17:16:07,342 DEBUG com.atChina.mybatis.EmployeeMapper.selectEmp - <== Row: 10, ACCOUNTING, NEW YORK Employee [deptno=10, dname=ACCOUNTING, loc=NEW YORK]?
總結
以上是生活随笔為你收集整理的mybaits一:初步认识mybatis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring20:Aspectj实现前置
- 下一篇: mybaits二:通过接口类,查询数据