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

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è)
91出品国产福利在线| 日本少妇激情后入嗯啊| 日本不卡免费一区二区视频| 日韩欧美国产精品一区| 国产精品美女露脸av毛片| 久久精品国产亚洲av一| av亚洲天堂免费观看| 日本福利资源在线观看| 亚洲另类视频一区二区| 国产一区二区在线粉嫩| 中文字幕乱码人妻一区| 国产日本欧美一区二区三区| 六月综合激情丁香婷婷色| 免费av男人天堂亚洲天堂| 日本精品免费专区在线观看| 欧美国产日韩亚洲综合| 国产精品蜜臀av在线一区| 激情婷婷亚洲五月综合网| 欧美日韩另类综合久久久| 一本色道久久亚洲综合精品蜜桃| 中文字幕人妻秘书社长| 日韩精品熟女一区二区三区| 国产精品十八禁在线看| 国产精品白嫩初高中害羞小美女 | 久久精品国产亚洲av蜜点| 人妻内射一区二区在线视| 欧美高清一区二区在线播放| 亚洲欧美激情啪啪啪| 欧美一区二区大香蕉视频| 人成午夜视频在线播放| 人妖伪娘在线观看一区二区三区 | 高潮国产精品一区二区| 草草影院最新地址在线观看 | 在线国产精品中文字幕| 一区二区三区成人高清视频| 四虎影视国产精品久久| 在线观看亚洲激情av| 国产精品伊人久久精品| 欧美十日本亚洲激情视频| 国产亚洲精品视频免费| 日韩传媒在线观看视频|