一:簡介java
MyBatis是一個優秀的持久層框架,它對jdbc的操做數據庫的過程進行封裝,使開發者只須要關注 SQL 自己,而不須要花費精力去處理例如註冊驅動、建立connection、建立statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。Mybatis經過xml或註解的方式將要執行的各類statement(statement、preparedStatemnt、CallableStatement)配置起來,並經過Java對象和statement中的sql進行映射生成最終執行的sql語句,最後由mybatis框架執行sql並將結果映射成java對象並返回。mysql
二:原理sql
三:環境搭建數據庫
1:開發jar包:session
2.由於用到了sql數據庫,因此導入sql jbr包mybatis
3.配置文件mybatisConfig.xmlapp
<?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> <properties resource="db.properties"/><environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/></dataSource> </environment> </environments> <mappers> <mapper resource="org/mybatis/example/dao/DeptMapper.xml"/> </mappers> </configuration>
由於採用的是外部文件 方式,因此,須要創建db.properties文件,文件內容以下:框架
driver=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://localhost:1433;DatabaseName=mydbusername=sapassword=1
4.Dept實體類ide
package org.mybatis.example.dao;public class Dept { private int deptno; private String dname; private String ioc; public Dept() { } 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 getIoc() { return ioc; } public void setIoc(String ioc) { this.ioc = ioc; } }
5.建立Dept的映射文件DeptMapper.xmlsqlserver
<?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="org.mybatis.example.dao.DeptMapper"> <select id="selectOne" parameterType="int" resultType="org.mybatis.example.dao.Dept"> select * from dept where deptno=#{id} </select> </mapper>
6.測試類Test.java
public class Test { public static void main(String[] args) throws IOException { String resource="mybatisConfig.xml"; Reader reader=Resources.getResourceAsReader(resource); SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader); SqlSession session=sqlMapper.openSession(); try { Dept dept=session.selectOne("org.mybatis.example.dao.DeptMapper.selectOne",2); System.out.println(dept.getDname()); } catch (Exception e) { e.printStackTrace(); }finally{ session.close(); } }}
整體文件結構