一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - MyBaits 入門之MyBatis環(huán)境搭建(第一篇)

MyBaits 入門之MyBatis環(huán)境搭建(第一篇)

2020-07-16 11:43lijianhua JAVA教程

MyBatis的前身叫iBatis,本是apache的一個(gè)開源項(xiàng)目, 2010年這個(gè)項(xiàng)目由apache software foundation 遷移到了google code,并且改名為MyBatis。這篇文章主要介紹了MyBaits入門第一篇之MyBaits環(huán)境搭建,需要的朋友參考下

MyBatis 簡(jiǎn)介

MyBatis的前身叫iBatis,本是apache的一個(gè)開源項(xiàng)目, 2010年這個(gè)項(xiàng)目由apache software foundation 遷移到了google code,并且改名為MyBatis。

MyBatis是支持普通SQL查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis使用簡(jiǎn)單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plan Old Java Objects,普通的Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄。

下面分步驟給搭建介紹mybatis 環(huán)境搭建。

1)在工程下引入mybatis-3.4.1.jar包,再引入數(shù)據(jù)庫(kù)(mysql,mssql..)包.

2)在src下新建一個(gè)配置文件conf.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?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="jdbc.properties" />
 <!-- 配置mybatis運(yùn)行環(huán)境 -->
 <environments default="development">
 <environment id="development">
  <!-- type="JDBC" 代表使用JDBC的提交和回滾來管理事務(wù) -->
  <transactionManager type="JDBC" /> 
  <!-- mybatis提供了3種數(shù)據(jù)源類型,分別是:POOLED,UNPOOLED,JNDI -->
  <!-- POOLED 表示支持JDBC數(shù)據(jù)源連接池 -->
  <!-- UNPOOLED 表示不支持?jǐn)?shù)據(jù)源連接池 -->
  <!-- JNDI 表示支持外部數(shù)據(jù)源連接池 -->
  <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="userMapper.xml"/>
 </mappers>
</configuration>

這里是通過外部配置文件來存儲(chǔ)數(shù)據(jù)庫(kù)存信息的,所以加入一個(gè)jdbc.properties的數(shù)據(jù)庫(kù)存信息

?
1
2
3
4
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://127.0.0.1;databaseName=test
username=sa
password=123456

3)建立一個(gè)映射文件 userMapper.xml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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="hw.com.ser.IUser">
 <!-- 查詢?nèi)坑脩?-->
 <select id="queryUsers" resultType="hw.com.pojo.User">
  select * from MS_User
 </select>
 <selectid="queryUserById" resultType="hw.com.pojo.User" parameterType="int">
  Select * From Ms_User Where id=#{id}
 </select>
</mapper>

(這里要注意的是,namespace屬性,因?yàn)椋藢?shí)例是通過接口映射的方式,所以,namespace屬性一點(diǎn)要寫成接口的路徑)附圖:

MyBaits 入門之MyBatis環(huán)境搭建(第一篇)

4)建一個(gè)映射接口類

?
1
2
3
4
5
6
7
package hw.com.ser;
import java.util.List;
import hw.com.pojo.User;
public interface IUser {
 public List<User> queryUsers();
 public User queryUserById(int id);
}

5)建立一個(gè)SqlSessionFactory

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package hw.com.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.Properties;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionFactoryUtil {
 private static SqlSessionFactory sqlSessionFactory = null;
 private static final Class CLASS_LOCK = SqlSessionFactoryUtil.class;
 private SqlSessionFactoryUtil() {
 }
 public static SqlSessionFactory initSqlSessionFactory() {
 String resource = "conf.xml";
 InputStream inputStream = null;
 try {
  inputStream = Resources.getResourceAsStream(resource); 
 } catch (IOException e) {
  e.printStackTrace();
 }
 synchronized (CLASS_LOCK) {
  if (sqlSessionFactory == null) {
  sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  }
 }
 return sqlSessionFactory;
 }
 public static SqlSession openSqlSession(){
 if(sqlSessionFactory==null){
  initSqlSessionFactory();
 }
 return sqlSessionFactory.openSession();
 }
}

6)建一個(gè)pojo

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package hw.com.pojo;
import java.util.Date;
public class User {
 private String Id;
 private String UserName;
 private String UserPwd;
 private int DeptmentId;
 private String UserTrueName;
 private String Email;
 private int LearnCenterId;
 private Date CreateDate;
 private Date LastModifyDate;
 private int UserStatus;
 public User() {
 super();
 // TODO Auto-generated constructor stub
 }
 public String getId() {
 return Id;
 }
 public void setId(String id) {
 Id = id;
 }
 public String getUserName() {
 return UserName;
 }
 public void setUserName(String userName) {
 UserName = userName;
 }
 public String getUserPwd() {
 return UserPwd;
 }
 public void setUserPwd(String userPwd) {
 UserPwd = userPwd;
 }
 public int getDeptmentId() {
 return DeptmentId;
 }
 public void setDeptmentId(int deptmentId) {
 DeptmentId = deptmentId;
 }
 public String getUserTrueName() {
 return UserTrueName;
 }
 public void setUserTrueName(String userTrueName) {
 UserTrueName = userTrueName;
 }
 public String getEmail() {
 return Email;
 }
 public void setEmail(String email) {
 Email = email;
 }
 public int getLearnCenterId() {
 return LearnCenterId;
 }
 public void setLearnCenterId(int learnCenterId) {
 LearnCenterId = learnCenterId;
 }
 public Date getCreateDate() {
 return CreateDate;
 }
 public void setCreateDate(Date createDate) {
 CreateDate = createDate;
 }
 public Date getLastModifyDate() {
 return LastModifyDate;
 }
 public void setLastModifyDate(Date lastModifyDate) {
 LastModifyDate = lastModifyDate;
 }
 public int getUserStatus() {
 return UserStatus;
 }
 public void setUserStatus(int userStatus) {
 UserStatus = userStatus;
 }
 @Override
 public String toString() {
 return "User [Id=" + Id + ", UserName=" + UserName + ", UserPwd=" + UserPwd + ", DeptmentId=" + DeptmentId
  + ", UserTrueName=" + UserTrueName + ", Email=" + Email + ", LearnCenterId=" + LearnCenterId
  + ", CreateDate=" + CreateDate + ", LastModifyDate=" + LastModifyDate + ", UserStatus=" + UserStatus
  + "]";
 }
}

7) 在main方法下做測(cè)試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package hw.com.Day1.main;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import hw.com.pojo.User;
import hw.com.ser.IUser;
import hw.com.util.SqlSessionFactoryUtil;
public class UserTest {
 public static void main(String[] args) {
 SqlSession sqlSession=null;
 try {
  sqlSession=SqlSessionFactoryUtil.openSqlSession();
  IUser iUser=sqlSession.getMapper(IUser.class);
  List<User> users=iUser.queryUsers();
  if(users.size()>0){
  for (User user : users) {
   System.out.println(user.toString());
  }
  }
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
}

原文鏈接:http://www.cnblogs.com/lijianhua/archive/2016/12/20/6201158.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜a一级毛片 | 精品久久久久久久国产潘金莲 | 午夜伦伦电影理论片费看 | 九九99靖品| 国内精品自产拍在线观看91 | 超级乱淫伦小说1女多男 | 精品一区二区三区中文 | 四虎影院网站 | 99久久国产综合精麻豆 | 欧美春宫| 日韩高清一区二区三区不卡 | 欧美在线看片a免费观看 | 午夜私人影院在线观看 | 日韩欧美推理片免费在线播放 | 日本综合在线观看 | ass性强迫rape | 耽美双性 | 亚洲人尿尿 | 美女视频ww8888网网 | 美女的让男人桶爽30分钟的 | 狠狠干狠狠插 | 免费特黄一区二区三区视频一 | 日本老妇人乱视频 | 四虎影院在线免费 | 艹出白浆 | 精品国产乱码久久久久久软件 | 午夜宅男在线观看 | 91午夜在线观看 | 五月天国产视频 | www.国产自拍| 西野翔全部作品在线观看 | 干露露视频 性感写真 | 四虎在线成人免费网站 | 教室里的激情电影 | 九九免费高清在线观看视频 | 9久re在线观看视频精品 | 日本午夜vr影院新入口 | 免费一级生活片 | 91精品婷婷国产综合久久8 | 蜜桃免费 | 91国内精品久久久久影院优播 |