一、MyBatis简介与配置MyBatis+Spring+MySql
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代码
/* 建立数据库 */
CREATEDATABASE STUDENT_MANAGER;
USE STUDENT_MANAGER;
/***** 建立student表 *****/
CREATETABLE STUDENT_TBL
(
STUDENT_ID VARCHAR(255) PRIMARYKEY,
STUDENT_NAME VARCHAR(10) NOTNULL,
STUDENT_SEX VARCHAR(10),
STUDENT_BIRTHDAY DATE,
CLASS_ID VARCHAR(255)
);
/*插入**/
INSERTINTO STUDENT_TBL (STUDENT_ID,
STUDENT_NAME,
STUDENT_SEX,
STUDENT_BIRTHDAY,
CLASS_ID)
VALUES (123456,
'某某某',
'女',
'1980-08-01',
121546
)
创建连接MySql使用的配置文件mysql.properties。
Mysql.properties代码
jdbc.driverClassName=com.mysql.jdbc.Driver
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代码
publicclass StudentEntity implements Serializable {
privatestaticfinallong serialVersionUID = 3096154202413606831L;
private ClassEntity classEntity;
private Date studentBirthday;
private String studentID;
private String studentName;
private String studentSex;
public ClassEntity getClassEntity() {
return classEntity;
}
public Date getStudentBirthday() {
return studentBirthday;
}
public String getStudentID() {
return studentID;
}
public String getStudentName() {
return studentName;
}
public String getStudentSex() {
return studentSex;
}
publicvoid setClassEntity(ClassEntity classEntity) {
this.classEntity = classEntity;
}
publicvoid setStudentBirthday(Date studentBirthday) {
this.studentBirthday = studentBirthday;
}
publicvoid setStudentID(String studentID) {
this.studentID = studentID;
}
publicvoid setStudentName(String studentName) {
this.studentName = studentName;
}
publicvoid setStudentSex(String studentSex) {
this.studentSex = studentSex;
}
}
1.2.3.2创建数据访问接口
Student类对应的dao接口:StudentMapper。
Java代码
publicinterface StudentMapper {
public StudentEntity getStudent(String studentID);
public StudentEntity getStudentAndClass(String studentID);
public List
getStudentAll(); publicvoid insertStudent(StudentEntity entity);
publicvoid deleteStudent(StudentEntity entity);
publicvoid updateStudent(StudentEntity entity);
}
1.2.3.3创建SQL映射语句文件
Student类的sql语句文件StudentMapper.xml
Xml代码
xmlversion="1.0"encoding="UTF-8"?>
span>>
mappernamespace="com.manager.data.StudentMapper">
resultMaptype="StudentEntity"id="studentResultMap">
idproperty="studentID"column="STUDENT_ID"/>
resultproperty="studentName"column="STUDENT_NAME"/>
resultproperty="studentSex"column="STUDENT_SEX"/>
resultproperty="studentBirthday"column="STUDENT_BIRTHDAY"/>
resultMap>
selectid="getStudent"parameterType="String"resultType="StudentEntity"resultMap="studentResultMap">
SELECT * from STUDENT_TBL ST
WHERE ST.STUDENT_ID = #{studentID}
]]>
select>
selectid="getStudentAll"resultType="com.manager.data.model.StudentEntity"resultMap="studentResultMap">
SELECT * from STUDENT_TBL
]]>
select>
mapper>
1.2.3.4创建MyBatis的mapper配置文件
在src/main/resource中创建MyBatis配置文件:mybatis-config.xml。
Xml代码
xmlversion="1.0"encoding="UTF-8"?>
span>>
configuration>
typeAliases>
typeAliasalias="StudentEntity"type="com.manager.data.model.StudentEntity"/>
typeAliases>
mappers>
mapperresource="com/manager/data/maps/StudentMapper.xml"/>
mappers>
configuration>
1.2.3.5修改Spring 的配置文件
主要是添加SqlSession的制作工厂类的bean:SqlSessionFactoryBean,(在mybatis.spring包中)。需要指定配置文件位置和dataSource。
和数据访问接口对应的实现bean。通过MapperFactoryBean创建出来。需要执行接口类全称和SqlSession工厂bean的引用。
Xml代码
context:property-placeholderlocation="classpath:mysql.properties"/>
beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource">
propertyname="driverClassName"value="${jdbc.driverClassName}"/>
propertyname="url"value="${jdbc.url}"/>
bean>
beanid="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
propertyname="dataSource"ref="dataSource"/>
bean>
beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">
propertyname="configLocation"value="classpath:mybatis-config.xml"/>
propertyname="dataSource"ref="dataSource"/>
bean>
>
beanid="studentMapper"class="org.mybatis.spring.MapperFactoryBean">
propertyname="mapperInterface"value="com.manager.data.StudentMapper"/>
propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>
bean>
也可以不定义mapper的bean,使用注解:
将StudentMapper加入注解
Java代码
@Repository
@Transactional
publicinterface StudentMapper {
}
对应的需要在dispatcher-servlet.xml中加入扫描:
Xml代码
beanclass="org.mybatis.spring.mapper.MapperScannerConfigurer">
propertyname="annotationClass"value="org.springframework.stereotype.Repository"/>
propertyname="basePackage"value="com.liming.manager"/>
propertyname="sqlSessionFactory"ref="sqlSessionFactory"/>
bean>
1.2.4测试StudentMapper
使用SpringMVC测试,创建一个TestController,配置tomcat,访问index.do页面进行测试:
Java代码
@Controller
publicclass TestController {
@Autowired
private StudentMapper studentMapper;
@RequestMapping(value = "index.do")
publicvoid indexPage() {
StudentEntity entity = studentMapper.getStudent("10000013");
System.out.println("name:" + entity.getStudentName());
}
}
使用Junit测试:
Java代码
使用Junit测试:
Java代码
@RunWith(value = SpringJUnit4ClassRunner.class)
@ContextConfiguration(value = "test-servlet.xml")
publicclass StudentMapperTest {
@Autowired
private ClassMapper classMapper;
@Autowired
private StudentMapper studentMapper;
@Transactional
publicvoid getStudentTest(){
StudentEntity entity = studentMapper.getStudent("10000013");
System.out.println("" + entity.getStudentID() + entity.getStudentName());
List
studentList = studentMapper.getStudentAll(); for( StudentEntity entityTemp : studentList){
System.out.println(entityTemp.getStudentName());
}
}
}

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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