mybatis操作數據庫


  1. 導入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>

 

  1. 測試

                                                   

                                          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();
}

          測試結果:

                        

 

 

 

 

 

 

      


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM