gpt4 book ai didi

MyBaits 入门之MyBatis环境搭建(第一篇)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章MyBaits 入门之MyBatis环境搭建(第一篇)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

MyBatis 简介 。

MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis.

MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.

下面分步骤给搭建介绍mybatis 环境搭建.

1)在工程下引入mybatis-3.4.1.jar包,再引入数据库(mysql,mssql..)包. 。

2)在src下新建一个配置文件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运行环境 -->
  <environments default = "development" >
  <environment id= "development" >
   <!-- type= "JDBC" 代表使用JDBC的提交和回滚来管理事务 -->
   <transactionManager type= "JDBC" /> 
   <!-- mybatis提供了 3 种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->
   <!-- POOLED 表示支持JDBC数据源连接池 -->
   <!-- UNPOOLED 表示不支持数据源连接池 -->
   <!-- JNDI 表示支持外部数据源连接池 -->
   <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>

这里是通过外部配置文件来存储数据库存信息的,所以加入一个jdbc.properties的数据库存信息 。

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

3)建立一个映射文件 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" >
  <!-- 查询全部用户 -->
  <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属性,因为,此实例是通过接口映射的方式,所以,namespace属性一点要写成接口的路径)附图:

MyBaits 入门之MyBatis环境搭建(第一篇)

4)建一个映射接口类 。

?
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)建立一个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)建一个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方法下做测试 。

?
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 。

最后此篇关于MyBaits 入门之MyBatis环境搭建(第一篇)的文章就讲到这里了,如果你想了解更多关于MyBaits 入门之MyBatis环境搭建(第一篇)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com