欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Mybatis中如何搭建注解式

這篇文章給大家介紹Mybatis中如何搭建注解式,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)、鄄城網(wǎng)絡(luò)推廣、微信小程序、鄄城網(wǎng)絡(luò)營銷、鄄城企業(yè)策劃、鄄城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)建站為所有大學生創(chuàng)業(yè)者提供鄄城建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:aaarwkj.com

# 一.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)。

二.準備Jar包

在項目的根目錄新建lib文件夾,用來存放jar文件Mybatis中如何搭建注解式

三.準備配置文件

1.c3p0.propertis

此配置文件主要是用 c3p0連接數(shù)據(jù)庫的信息,修改其中的driverClass(連接驅(qū)動)、url、user以及密碼。

注意:dirverClass是數(shù)據(jù)庫連接驅(qū)動,不同版本,不同數(shù)據(jù)庫連接驅(qū)動都不同,我用的是MySQL5.7版本,命名必須是這個,不要問,問就是規(guī)定!!

2.log4j2.xml

此配置文件主要是日志的打印以及保存,找到<properties> </properties>標簽,<property name="LOG_HOME"></property> (日志保存路徑) <property name="FILE_NAME"></property>(當前項目名)。

四.創(chuàng)建Mybatis核心配置文件

在src根目錄下新建一個mybatis-cofig.xml(名字隨意)的配置文件

1.配置log4j

<settings>
		<!-- 配置Log4j2 -->
		<setting name="logImpl" value="LOG4J2"/>
</settings>

2.配置c3p0數(shù)據(jù)源

<!-- 配置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>

3.創(chuàng)建實體類

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 + "]";
	}
	
}

4.創(chuàng)建dao層以及實現(xiàn)類

新建dao包-->新建teacherDao接口

-->在dao包中新建impl包

-->在impl中新建teacherDaoImpl實現(xiàn)teacherDao接口

5.在核心配置文件中加入實體類的映射

<mappers>
    <mapper resource="com/hsiao/entiy/TeacherVO.xml"/>
</mappers>

6.創(chuàng)建session工廠

在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)建失敗!");
		}
		//設(shè)置BATCH 批處理模式  fasle代表是事務(wù)非自動提交 
		SqlSession session=sqlSessionFactory.openSession(ExecutorType.BATCH,false);
		return session;
	}
}

7.測試獲取連接

public static void main(String...args) {
		SqlSession session=MybatisSessionFactory.getSession();
		log.debug("獲取Connection對象"+session.getConnection());
	}

測試無異常在進行下一步。Mybatis中如何搭建注解式

8.在TeacherVO.xml中封裝結(jié)果集

<resultMap id="teacherResult" type="com.hsiao.entiy.Teacher">
  <!-- column列名 jdbcType數(shù)據(jù)庫類型 property數(shù)據(jù)庫字段對應(yīng)實體類屬性名 -->
     <id column="tid" jdbcType="BIGINT" property="tid"/>
     <result column="tname" jdbcType="VARCHAR" property="tname"/>
     <result column="subject" jdbcType="VARCHAR" property="subject"/>
</resultMap>

9.在TeacherVO.xml中寫sql語句標簽

<select id="selectAllTeacher" resultMap="teacherResult">
		SELECT TID,TNAME,SUBJECT FROM TEACHER
</select>

10.dao層寫抽象方法

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保持一致

11.dao層的實現(xiàn)類寫方法并測試

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中如何搭建注解式

關(guān)于Mybatis中如何搭建注解式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享標題:Mybatis中如何搭建注解式
URL分享:http://aaarwkj.com/article4/gpidoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作關(guān)鍵詞優(yōu)化、微信小程序、域名注冊、用戶體驗手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
高潮的毛片激情久久精品| 熟妇高潮一区二区三区| 中文字幕国产精品一区二| 免费在线观看做性小视频| 国语对白刺激真实精品| 日韩有码一区在线观看| 风韵丰满熟妇老熟女啪啪| 日本人妻三级精品久久| 日韩精品在线播放观看| 激情毛片av在线免费看| 无遮挡动漫网站免费观看| 一区三区精品久久久精品| 91精品免费播放在线观看| 一区二区三区av天堂| 本色啪啪人妻夜嗨嗨av| 国产老熟女一区二区三区| 亚洲免费av一区在线观看| 97国产精品亚洲精品| 久久99国产综合精品女同| 中文字幕亚洲天堂久久| 国产精品原创传媒在线观看| 美女av在线免费观看| 大胆丰满邻居少妇在线观看| 极品少妇一级人妻av| 国产男女爱猛视频在线| 青青草日韩视频在线观看 | 欧美日韩亚洲国产极品| 国产日产精品久久一区| 日韩精品一区二区三区中文| 欧美日韩激情在线一区| 国产精品一区二区三区在线| 综合久久久精品国产亚洲av| 尤物欧美精品一区二区三区| 亚洲精品欧美日韩久久| 精品欧美国产日韩在线观看| 中文乱码字幕亚洲精品| 日韩激情中文字幕一区二区三区| 综合激情网激情五月天| 极品少妇一级人妻av| 久久精品国产亚洲av波多| 欧美一区二区在线精品|