- 導入jar包

共13包
注意:mysql-connction的版本是5.1.7版低版本可能不行
2.編寫配置文件
a. 配置連接數據庫的文件
a.1創建數據庫

user表

a.2配置文件目錄

a.2.1db.properties(連接數據的數據)
db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost:3306/mybaties?useUnicode=true&characterEncoding=utf8 db.username=root db.password=abc |
a.2.2SqlMapConfig.xml(連接javabean和數據庫)
<?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> <!-- 加載java的配置文件或者聲明屬性信息 --> <properties resource="db.properties"> <property name="db.username" value="123" /> </properties> <!-- <settings></settings> --> <!-- 自定義別名 --> <typeAliases> <!-- 單個別名定義 --> <!-- <typeAlias type="po.User" alias="user"/> --> <!-- 批量別名定義(推薦) --> <!-- package:指定包名稱來為該包下的po類聲明別名,默認的別名就是類名(首字母大小寫都可) --> <package name="po" /> </typeAliases> <!-- 配置mybatis的環境信息,與spring整合,該信息由spring來管理 --> <environments default="development"> <environment id="development"> <!-- 配置JDBC事務控制,由mybatis進行管理 --> <transactionManager type="JDBC"></transactionManager> <!-- 配置數據源,采用mybatis連接池 --> <dataSource type="POOLED"> <property name="driver" value="${db.driver}" /> <property name="url" value="${db.url}" /> <property name="username" value="${db.username}" /> <property name="password" value="${db.password}" /> </dataSource> </environment> </environments> <!-- 加載映射文件 --> <mappers> <mapper resource="User.xml" /> <!-- <mapper resource="mapper/UserMapper.xml" /> --> <!-- 批量加載映射文件 --> <package name="mapper" /> </mappers> </configuration> |
a.2.3 User.xml(編寫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:命名空間,對statement的信息進行分類管理 --> <!-- 注意:在mapper代理時,它具有特殊及重要的作用 --> <mapper namespace="test"> <!-- 根據用戶ID查詢用戶信息 --> <!-- select:表示一個MappedStatement對象 --> <!-- id:statement的唯一標示 --> <!-- #{}:表示一個占位符? --> <!-- #{id}:里面的id表示輸入參數的參數名稱,如果該參數是簡單類型,那么#{}里面的參數名稱可以任意 --> <!-- parameterType:輸入參數的java類型 --> <!-- resultType:輸出結果的所映射的java類型(單條結果所對應的java類型) --> <select id="findUserById" parameterType="int" resultType="po.User"> SELECT * FROM USER WHERE id =#{id} </select> </mapper> |
- 測試

User.java(javabean)
package po; import java.util.Date; public class User { private int id; private String username;// 名字 private String sex;// 年齡 private Date birthday;// 生日 private String address;//地址 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address=" + address + "]"; } } |
MyBatisFrist.java
@Test public void findUserByIdTest() throws Exception{ //讀取配置文件 //讀取全局配置文件 String resource = "SqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); //創建SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //創建SqlSession SqlSession sqlSession = sqlSessionFactory.openSession(); //調用SqlSession 的增刪改查方法 //第一個參數表示statement的唯一標識 User user = sqlSession.selectOne("test.findUserById", 1); System.out.println(user); //關閉資源 sqlSession.close(); } |
測試結果:
