目錄
1.1MyBatis简介
1.2MyBatis+Spring+MySql简单配置
1.2.1搭建Spring环境
1.2.3搭建MyBatis环境
1.2.3.2创建数据访问接口
1.2.4测试StudentMapper
首頁 資料庫 mysql教程 一、MyBatis简介与配置MyBatis+Spring+MySql

一、MyBatis简介与配置MyBatis+Spring+MySql

Jun 07, 2016 pm 03:10 PM
mybatis 簡介 配置

MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql MyBatis学习 之 二、SQL语句映射文件(1)resultMap MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存 MyBatis学习 之 三、动态SQL语句 MyBatis学习 之 四、MyBatis配置文件 1.1MyBatis

MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql

MyBatis学习 之 二、SQL语句映射文件(1)resultMap

MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

MyBatis学习 之 三、动态SQL语句

MyBatis学习 之 四、MyBatis配置文件


1.1MyBatis简介

     MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。
需要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包)。mybatis-spring-1.0.0.jar(与Spring结合包)。

下载地址:
http://ibatis.apache.org/tools/ibator
http://code.google.com/p/mybatis/


1.2MyBatis+Spring+MySql简单配置

1.2.1搭建Spring环境

1,建立maven的web项目;
2,加入Spring框架、配置文件;
3,在pom.xml中加入所需要的jar包(spring框架的、mybatis、mybatis-spring、junit等);
4,更改web.xml和spring的配置文件;
5,添加一个jsp页面和对应的Controller;
6,测试。

可参照:http://limingnihao.iteye.com/blog/830409。使用Eclipse的Maven构建SpringMVC项目


1.2.2建立MySql数据库

建立一个学生选课管理数据库。
表:学生表、班级表、教师表、课程表、学生选课表。
逻辑关系:每个学生有一个班级;每个班级对应一个班主任教师;每个教师只能当一个班的班主任;

使用下面的sql进行建数据库,先建立学生表,插入数据(2条以上)。

更多sql请下载项目源文件,在resource/sql中。

Sql代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. /* 建立数据库 */  

  2. CREATEDATABASE STUDENT_MANAGER;  

  3. USE STUDENT_MANAGER;  

  4. /***** 建立student表 *****/  

  5. CREATETABLE STUDENT_TBL  

  6. (  

  7.   STUDENT_ID         VARCHAR(255) PRIMARYKEY,  

  8.   STUDENT_NAME       VARCHAR(10) NOTNULL,  

  9.   STUDENT_SEX        VARCHAR(10),  

  10.   STUDENT_BIRTHDAY   DATE,  

  11.   CLASS_ID           VARCHAR(255)  

  12. );  

  13. /*插入**/  

  14. INSERTINTO STUDENT_TBL (STUDENT_ID,  

  15.                         STUDENT_NAME,  

  16.                         STUDENT_SEX,  

  17.                         STUDENT_BIRTHDAY,  

  18.                         CLASS_ID)  

  19. VALUES   (123456,  

  20. '某某某',  

  21. '女',  

  22. '1980-08-01',  

  23.            121546  

  24.            )  



创建连接MySql使用的配置文件mysql.properties。

Mysql.properties代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. jdbc.driverClassName=com.mysql.jdbc.Driver  

  2. jdbc.url=jdbc:mysql://localhost:3306/student_manager?user=root&password=limingnihao&useUnicode=true&characterEncoding=UTF-8



1.2.3搭建MyBatis环境

顺序随便,现在的顺序是因为可以尽量的少的修改写好的文件。


1.2.3.1创建实体类: StudentEntity

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. publicclass StudentEntity implements Serializable {  

  2. privatestaticfinallong serialVersionUID = 3096154202413606831L;  

  3. private ClassEntity classEntity;  

  4. private Date studentBirthday;  

  5. private String studentID;  

  6. private String studentName;  

  7. private String studentSex;  

  8. public ClassEntity getClassEntity() {  

  9. return classEntity;  

  10.    }  

  11. public Date getStudentBirthday() {  

  12. return studentBirthday;  

  13.    }  

  14. public String getStudentID() {  

  15. return studentID;  

  16.    }  

  17. public String getStudentName() {  

  18. return studentName;  

  19.    }  

  20. public String getStudentSex() {  

  21. return studentSex;  

  22.    }  

  23. publicvoid setClassEntity(ClassEntity classEntity) {  

  24. this.classEntity = classEntity;  

  25.    }  

  26. publicvoid setStudentBirthday(Date studentBirthday) {  

  27. this.studentBirthday = studentBirthday;  

  28.    }  

  29. publicvoid setStudentID(String studentID) {  

  30. this.studentID = studentID;  

  31.    }  

  32. publicvoid setStudentName(String studentName) {  

  33. this.studentName = studentName;  

  34.    }  

  35. publicvoid setStudentSex(String studentSex) {  

  36. this.studentSex = studentSex;  

  37.    }  

  38. }  




1.2.3.2创建数据访问接口

Student类对应的dao接口:StudentMapper。

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. publicinterface StudentMapper {  

  2. public StudentEntity getStudent(String studentID);  

  3. public StudentEntity getStudentAndClass(String studentID);  

  4. public List getStudentAll();  

  5. publicvoid insertStudent(StudentEntity entity);  

  6. publicvoid deleteStudent(StudentEntity entity);  

  7. publicvoid updateStudent(StudentEntity entity);  

  8. }  



1.2.3.3创建SQL映射语句文件


Student类的sql语句文件StudentMapper.xml

Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. xmlversion="1.0"encoding="UTF-8"?>

  2. span>>

  3. mappernamespace="com.manager.data.StudentMapper">

  4. resultMaptype="StudentEntity"id="studentResultMap">

  5. idproperty="studentID"column="STUDENT_ID"/>

  6. resultproperty="studentName"column="STUDENT_NAME"/>

  7. resultproperty="studentSex"column="STUDENT_SEX"/>

  8. resultproperty="studentBirthday"column="STUDENT_BIRTHDAY"/>

  9. resultMap>

  10. selectid="getStudent"parameterType="String"resultType="StudentEntity"resultMap="studentResultMap">

  11.            SELECT * from STUDENT_TBL ST

  12.                WHERE ST.STUDENT_ID = #{studentID}

  13.        ]]>

  14. select>

  15. selectid="getStudentAll"resultType="com.manager.data.model.StudentEntity"resultMap="studentResultMap">

  16.            SELECT * from STUDENT_TBL

  17.        ]]>

  18. select>

  19. mapper>




1.2.3.4创建MyBatis的mapper配置文件

在src/main/resource中创建MyBatis配置文件:mybatis-config.xml。


Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. xmlversion="1.0"encoding="UTF-8"?>

  2. span>>

  3. configuration>

  4. typeAliases>

  5. typeAliasalias="StudentEntity"type="com.manager.data.model.StudentEntity"/>

  6. typeAliases>

  7. mappers>

  8. mapperresource="com/manager/data/maps/StudentMapper.xml"/>

  9. mappers>

  10. configuration>





1.2.3.5修改Spring 的配置文件

主要是添加SqlSession的制作工厂类的bean:SqlSessionFactoryBean,(在mybatis.spring包中)。需要指定配置文件位置和dataSource。
和数据访问接口对应的实现bean。通过MapperFactoryBean创建出来。需要执行接口类全称和SqlSession工厂bean的引用。

Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. context:property-placeholderlocation="classpath:mysql.properties"/>

  2. beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">

  3. propertyname="driverClassName"value="${jdbc.driverClassName}"/>

  4. propertyname="url"value="${jdbc.url}"/>

  5. bean>

  6. beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

  7. propertyname="dataSource"ref="dataSource"/>

  8. bean>

  9. beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">

  10. propertyname="configLocation"value="classpath:mybatis-config.xml"/>

  11. propertyname="dataSource"ref="dataSource"/>

  12. bean>

  13. >

  14. beanid="studentMapper"class="org.mybatis.spring.MapperFactoryBean">

  15. propertyname="mapperInterface"value="com.manager.data.StudentMapper"/>

  16. propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>

  17. bean>



也可以不定义mapper的bean,使用注解:

将StudentMapper加入注解


Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. @Repository

  2. @Transactional

  3. publicinterface StudentMapper {  

  4. }  


对应的需要在dispatcher-servlet.xml中加入扫描:


Xml代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">

  2. propertyname="annotationClass"value="org.springframework.stereotype.Repository"/>

  3. propertyname="basePackage"value="com.liming.manager"/>

  4. propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>

  5. bean>



1.2.4测试StudentMapper

使用SpringMVC测试,创建一个TestController,配置tomcat,访问index.do页面进行测试:

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. @Controller

  2. publicclass TestController {  

  3. @Autowired

  4. private StudentMapper studentMapper;  

  5. @RequestMapping(value = "index.do")  

  6. publicvoid indexPage() {    

  7.        StudentEntity entity = studentMapper.getStudent("10000013");  

  8.        System.out.println("name:" + entity.getStudentName());  

  9.    }    

  10. }  



使用Junit测试:

Java代码 一、MyBatis简介与配置MyBatis+Spring+MySql

  1. 使用Junit测试:  

  2. Java代码  

  3. @RunWith(value = SpringJUnit4ClassRunner.class)  

  4. @ContextConfiguration(value = "test-servlet.xml")  

  5. publicclass StudentMapperTest {  

  6. @Autowired

  7. private ClassMapper classMapper;  

  8. @Autowired

  9. private StudentMapper studentMapper;  

  10. @Transactional

  11. publicvoid getStudentTest(){  

  12.        StudentEntity entity = studentMapper.getStudent("10000013");  

  13.        System.out.println("" + entity.getStudentID() + entity.getStudentName());  

  14.        List studentList = studentMapper.getStudentAll();  

  15. for( StudentEntity entityTemp : studentList){  

  16.            System.out.println(entityTemp.getStudentName());  

  17.        }  

  18.    }  

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1311
25
PHP教程
1262
29
C# 教程
1235
24
Linux系統中GDM的工作原理及配置方法 Linux系統中GDM的工作原理及配置方法 Mar 01, 2024 pm 06:36 PM

標題:Linux系統中GDM的工作原理及設定方法在Linux作業系統中,GDM(GNOMEDisplayManager)是一種常見的顯示管理器,用於控制圖形使用者介面(GUI)登入和使用者會話管理。本文將介紹GDM的工作原理和設定方法,以及提供具體的程式碼範例。一、GDM的工作原理GDM是GNOME桌面環境下的顯示管理器,負責啟動X伺服器並提供登入介面,使用者輸

詳解MyBatis動態SQL標籤中的Set標籤功能 詳解MyBatis動態SQL標籤中的Set標籤功能 Feb 26, 2024 pm 07:48 PM

MyBatis動態SQL標籤解讀:Set標籤用法詳解MyBatis是一個優秀的持久層框架,它提供了豐富的動態SQL標籤,可以靈活地建構資料庫操作語句。其中,Set標籤是用來產生UPDATE語句中SET子句的標籤,在更新作業中非常常用。本文將詳細解讀MyBatis中Set標籤的用法,以及透過具體的程式碼範例來示範其功能。什麼是Set標籤Set標籤用於MyBati

了解Linux Bashrc:功能、設定與使用方法 了解Linux Bashrc:功能、設定與使用方法 Mar 20, 2024 pm 03:30 PM

了解LinuxBashrc:功能、配置與使用方法在Linux系統中,Bashrc(BourneAgainShellrunco​​mmands)是一個非常重要的配置文件,其中包含了系統啟動時自動運行的各種命令和設定。 Bashrc文件通常位於使用者的家目錄下,是一個隱藏文件,它的作用是為使用者自訂設定Bashshell的環境。一、Bashrc的功能設定環境

Linux系統中如何設定和安裝FTPS Linux系統中如何設定和安裝FTPS Mar 20, 2024 pm 02:03 PM

標題:Linux系統中如何配置和安裝FTPS,需要具體程式碼範例在Linux系統中,FTPS是一種安全的檔案傳輸協議,與FTP相比,FTPS透過TLS/SSL協議對傳輸的資料進行加密,提高了資料傳輸的安全性。在本文中,將介紹如何在Linux系統中設定和安裝FTPS,並提供特定的程式碼範例。步驟一:安裝vsftpd開啟終端,輸入以下指令安裝vsftpd:sudo

Python ORM 效能基準測試:比較不同 ORM 框架 Python ORM 效能基準測試:比較不同 ORM 框架 Mar 18, 2024 am 09:10 AM

物件關聯映射(ORM)框架在python開發中扮演著至關重要的角色,它們透過在物件和關聯式資料庫之間建立橋樑,簡化了資料存取和管理。為了評估不同ORM框架的效能,本文將針對以下流行框架進行基準測試:sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM測試方法基準測試使用了一個包含100萬筆記錄的SQLite資料庫。測試對資料庫執行了以下操作:插入:向表中插入10,000條新記錄讀取:讀取表中的所有記錄更新:更新表中所有記錄的單一欄位刪除:刪除表中的所有記錄每個操作

win11電腦配置在哪裡看? win11電腦設定資訊怎麼找方法 win11電腦配置在哪裡看? win11電腦設定資訊怎麼找方法 Mar 06, 2024 am 10:10 AM

我們在使用win11系統的時候有時候會需要查看自己的電腦配置,但是也有不少的用戶們在詢問win11電腦配置在哪裡看?其實方法很簡單的,使用者可以直接的開啟設定下的系統訊息,然後就能查看電腦設定資訊。以下就讓本站來為使用者來仔細的介紹一下win11電腦設定資訊如何查找方法吧。 win11電腦設定資訊如何找出方法方法一:1、點選開始,開啟電腦設定。 3、在此頁面即可查看電腦設定資訊。 2.在指令提示字元視窗中,輸入systeminfo回車,即可查看電腦設定。

Python ORM 在大數據專案的應用 Python ORM 在大數據專案的應用 Mar 18, 2024 am 09:19 AM

物件關係映射(ORM)是一種程式設計技術,允許開發人員使用物件程式語言來操作資料庫,而無需直接編寫sql查詢。 python中的ORM工具(例如SQLAlchemy、Peewee和DjangoORM)簡化了大數據專案的資料庫互動。優點程式碼簡潔性:ORM消除了編寫冗長的SQL查詢的需要,這提高了程式碼簡潔性和可讀性。資料抽象化:ORM提供了一個抽象層,將應用程式程式碼與資料庫實作細節隔離開來,提高了靈活性。效能最佳化:ORM通常會使用快取和批次操作來優化資料庫查詢,從而提高效能。可移植性:ORM允許開發人員在不

不同類型的Linux日誌檔及設定步驟 不同類型的Linux日誌檔及設定步驟 Feb 26, 2024 pm 10:54 PM

Linux日誌檔案種類及設定方法在Linux系統中,日誌檔案是非常重要的,它記錄了系統的運作狀態、使用者的操作以及各種事件的發生。透過查看日誌文件,系統管理員可以及時發現問題並進行相應的處理。本文將介紹Linux系統中常見的日誌檔案種類及如何設定日誌記錄。一、日誌檔案種類系統日誌:系統日誌是記錄系統運作狀態的日誌文件,包括系統啟動、關機、服務啟動和停止等信

See all articles