程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> My Baits入門(一)mybaits環境搭建,baitsmybaits

My Baits入門(一)mybaits環境搭建,baitsmybaits

編輯:JAVA綜合教程

My Baits入門(一)mybaits環境搭建,baitsmybaits


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

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

<?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的數據庫存信息

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://127.0.0.1;databaseName=test
username=sa
password=123456

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

<?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屬性一點要寫成接口的路徑)附圖:

4)建一個映射接口類

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); } View Code

5)建立一個SqlSessionFactory

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

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方法下做測試

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

    }

}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved