這篇文章給大家介紹Mybatis中如何搭建注解式,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設、鄄城網(wǎng)絡推廣、微信小程序、鄄城網(wǎng)絡營銷、鄄城企業(yè)策劃、鄄城品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供鄄城建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.chinadenli.net
# 一.Mybatis框架簡介
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。
iBATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAOs)。
在項目的根目錄新建lib文件夾,用來存放jar文件
此配置文件主要是用 c3p0連接數(shù)據(jù)庫的信息,修改其中的driverClass(連接驅動)、url、user以及密碼。
注意:dirverClass是數(shù)據(jù)庫連接驅動,不同版本,不同數(shù)據(jù)庫連接驅動都不同,我用的是MySQL5.7版本,命名必須是這個,不要問,問就是規(guī)定!!
此配置文件主要是日志的打印以及保存,找到<properties> </properties>標簽,<property name="LOG_HOME"></property> (日志保存路徑) <property name="FILE_NAME"></property>(當前項目名)。
在src根目錄下新建一個mybatis-cofig.xml(名字隨意)的配置文件
<settings> <!-- 配置Log4j2 --> <setting name="logImpl" value="LOG4J2"/> </settings>
<!-- 配置MyBatista所需的數(shù)據(jù)源 --> <environments default="myC3P0DataSource"> <!-- C3P0數(shù)據(jù)源 --> <environment id="myC3P0DataSource"> <transactionManager type="JDBC"/> <!-- new ComboPooledDataSource(),會默認加載c3p0.prperties配置文件 --> <dataSource type="com.hsiao.factory.C3P0DataSource" /> </environment> </environments>
Teacher實體類
package com.hsiao.entiy;
import java.util.Date;
public class Student {
private Long sid;
private String sname;
private Date sdate;
private Long tid;
private Teacher tvo;
public Student() {
super();
// TODO Auto-generated constructor stub
}
public Student(Long sid, String sname, Date sdate, Long tid, Teacher tvo) {
super();
this.sid = sid;
this.sname = sname;
this.sdate = sdate;
this.tid = tid;
this.tvo = tvo;
}
public Long getSid() {
return sid;
}
public void setSid(Long sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public Date getSdate() {
return sdate;
}
public void setSdate(Date sdate) {
this.sdate = sdate;
}
public Long getTid() {
return tid;
}
public void setTid(Long tid) {
this.tid = tid;
}
public Teacher getTvo() {
return tvo;
}
public void setTvo(Teacher tvo) {
this.tvo = tvo;
}
@Override
public String toString() {
return "Student [sid=" + sid + ", sname=" + sname + ", sdate=" + sdate + ", tid=" + tid + ", tvo=" + tvo + "]";
}
}新建dao包-->新建teacherDao接口
-->在dao包中新建impl包
-->在impl中新建teacherDaoImpl實現(xiàn)teacherDao接口
<mappers> <mapper resource="com/hsiao/entiy/TeacherVO.xml"/> </mappers>
在factory包中新建一個MybatisSessionFactory工廠類
package com.hsiao.factory;
import java.io.InputStream;
import org.apache.ibatis.session.ExecutorType;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class MybatisSessionFactory {
//創(chuàng)建日志追蹤器
private static Logger log=LogManager.getLogger();
private static SqlSessionFactory sqlSessionFactory;
/**
* 加載mybatis-config.xml配置文件
*/
static {
InputStream ins= MybatisSessionFactory.class.getClass().getResourceAsStream("/mybatis-config.xml");
sqlSessionFactory=new SqlSessionFactoryBuilder().build(ins);
}
public static SqlSession getSession() {
if(sqlSessionFactory==null) {
throw new NullPointerException("session 工廠創(chuàng)建失敗!");
}
//設置BATCH 批處理模式 fasle代表是事務非自動提交
SqlSession session=sqlSessionFactory.openSession(ExecutorType.BATCH,false);
return session;
}
}public static void main(String...args) {
SqlSession session=MybatisSessionFactory.getSession();
log.debug("獲取Connection對象"+session.getConnection());
}測試無異常在進行下一步。
<resultMap id="teacherResult" type="com.hsiao.entiy.Teacher"> <!-- column列名 jdbcType數(shù)據(jù)庫類型 property數(shù)據(jù)庫字段對應實體類屬性名 --> <id column="tid" jdbcType="BIGINT" property="tid"/> <result column="tname" jdbcType="VARCHAR" property="tname"/> <result column="subject" jdbcType="VARCHAR" property="subject"/> </resultMap>
<select id="selectAllTeacher" resultMap="teacherResult"> SELECT TID,TNAME,SUBJECT FROM TEACHER </select>
package com.hsiao.dao;
import com.hsiao.entiy.Teacher;
import java.util.List;
public interface TeacherDao {
public List<Teacher> selectAllTeacher();
}注意:dao層方法的方法名與對象映射文件(TeacherVO.xml)的select標簽的id保持一致
package com.hsiao.dao.impl;
import com.hsiao.dao.TeacherDao;
import com.hsiao.entiy.Teacher;
import com.hsiao.factory.MybatisSessionFactory;
import org.apache.ibatis.session.SqlSession;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.List;
public class TeacherDaoImpl implements TeacherDao {
private static Logger log= LogManager.getLogger();
@Override
public List<Teacher> selectAllTeacher() {
SqlSession session= MybatisSessionFactory.getSession();
List<Teacher> list= session.selectList("selectAllTeacher");
session.close();
return list;
}
public static void main(String[] args) {
TeacherDaoImpl dao=new TeacherDaoImpl();
List<Teacher> list=dao.selectAllTeacher();
list.forEach((m)->log.debug(m));
}
}
關于Mybatis中如何搭建注解式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
分享標題:Mybatis中如何搭建注解式
URL分享:http://www.chinadenli.net/article4/gpidoe.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、關鍵詞優(yōu)化、微信小程序、域名注冊、用戶體驗、手機網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)