国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

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

2019-11-26 13:25:31
字體:
供稿:網(wǎng)友

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ù)庫中的記錄。

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

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

2)在src下新建一個(gè)配置文件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運(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ù)庫存信息的,所以加入一個(gè)jdbc.properties的數(shù)據(jù)庫存信息

driver=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://127.0.0.1;databaseName=testusername=sapassword=123456

3)建立一個(gè)映射文件 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"> <!-- 查詢?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)要寫成接口的路徑)附圖:

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

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

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

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è)試

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阜新| 蓝田县| 苍梧县| 清苑县| 宁国市| 黄平县| 松江区| 个旧市| 黄平县| 米易县| 凤凰县| 醴陵市| 云龙县| 义马市| 手机| 师宗县| 巨野县| 垫江县| 扬州市| 拉孜县| 赣州市| 美姑县| 西和县| 张家港市| 香格里拉县| 临洮县| 兰坪| 孝义市| 德令哈市| 佳木斯市| 明光市| 象山县| 乌鲁木齐市| 连城县| 正镶白旗| 满城县| 怀安县| 天峻县| 湟中县| 建水县| 贡嘎县|