一、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());
}
}
}

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Tajuk: Prinsip kerja dan kaedah konfigurasi GDM dalam sistem Linux Dalam sistem pengendalian Linux, GDM (GNOMEDisplayManager) ialah pengurus paparan biasa yang digunakan untuk mengawal log masuk antara muka pengguna grafik (GUI) dan pengurusan sesi pengguna. Artikel ini akan memperkenalkan prinsip kerja dan kaedah konfigurasi GDM, serta menyediakan contoh kod khusus. 1. Prinsip kerja GDM GDM ialah pengurus paparan dalam persekitaran desktop GNOME Ia bertanggungjawab untuk memulakan pelayan X dan menyediakan antara muka log masuk

Tafsiran teg SQL dinamik MyBatis: Penjelasan terperinci tentang penggunaan teg Set MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik Ia menyediakan banyak teg SQL dinamik dan boleh membina pernyataan operasi pangkalan data secara fleksibel. Antaranya, tag Set ialah tag yang digunakan untuk menjana klausa SET dalam kenyataan UPDATE, yang sangat biasa digunakan dalam operasi kemas kini. Artikel ini akan menerangkan secara terperinci penggunaan teg Set dalam MyBatis dan menunjukkan kefungsiannya melalui contoh kod tertentu. Apakah itu Set tag Set tag digunakan dalam MyBati

Memahami Linux Bashrc: Fungsi, Konfigurasi dan Penggunaan Dalam sistem Linux, Bashrc (BourneAgainShellruncommands) ialah fail konfigurasi yang sangat penting, yang mengandungi pelbagai arahan dan tetapan yang dijalankan secara automatik apabila sistem dimulakan. Fail Bashrc biasanya terletak dalam direktori rumah pengguna dan merupakan fail tersembunyi Fungsinya adalah untuk menyesuaikan persekitaran Bashshell untuk pengguna. 1. Persekitaran tetapan fungsi Bashrc

Rangka kerja pemetaan hubungan objek (ORM) memainkan peranan penting dalam pembangunan ular sawa, ia memudahkan akses dan pengurusan data dengan membina jambatan antara objek dan pangkalan data hubungan. Untuk menilai prestasi rangka kerja ORM yang berbeza, artikel ini akan menanda aras terhadap rangka kerja popular berikut: sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM Kaedah Ujian Penanda aras menggunakan pangkalan data SQLite yang mengandungi 1 juta rekod. Ujian melakukan operasi berikut pada pangkalan data: Masukkan: Masukkan 10,000 rekod baharu ke dalam jadual Baca: Baca semua rekod dalam jadual Kemas kini: Kemas kini satu medan untuk semua rekod dalam jadual Padam: Padam semua rekod dalam jadual Setiap operasi

Tajuk: Cara mengkonfigurasi dan memasang FTPS dalam sistem Linux, contoh kod khusus diperlukan Dalam sistem Linux, FTPS ialah protokol pemindahan fail yang selamat Berbanding dengan FTP, FTPS menyulitkan data yang dihantar melalui protokol TLS/SSL, yang menambah baik. Keselamatan penghantaran data. Dalam artikel ini, kami akan memperkenalkan cara mengkonfigurasi dan memasang FTPS dalam sistem Linux dan memberikan contoh kod khusus. Langkah 1: Pasang vsftpd Buka terminal dan masukkan arahan berikut untuk memasang vsftpd: sudo

Pemetaan hubungan objek (ORM) ialah teknologi pengaturcaraan yang membolehkan pembangun menggunakan bahasa pengaturcaraan objek untuk memanipulasi pangkalan data tanpa menulis pertanyaan SQL secara langsung. Alat ORM dalam python (seperti SQLAlchemy, Peewee dan DjangoORM) memudahkan interaksi pangkalan data untuk projek data besar. Kelebihan Kesederhanaan Kod: ORM menghapuskan keperluan untuk menulis pertanyaan SQL yang panjang, yang meningkatkan kesederhanaan dan kebolehbacaan kod. Abstraksi data: ORM menyediakan lapisan abstraksi yang mengasingkan kod aplikasi daripada butiran pelaksanaan pangkalan data, meningkatkan fleksibiliti. Pengoptimuman prestasi: ORM sering menggunakan operasi caching dan kelompok untuk mengoptimumkan pertanyaan pangkalan data, dengan itu meningkatkan prestasi. Mudah alih: ORM membenarkan pembangun untuk

Apabila kita menggunakan sistem win11, kadangkala kita perlu menyemak konfigurasi komputer kita, tetapi ramai pengguna bertanya di mana untuk menyemak konfigurasi komputer win11? Sebenarnya, kaedah ini sangat mudah Pengguna boleh terus membuka maklumat sistem di bawah tetapan, dan kemudian melihat maklumat konfigurasi komputer. Biarkan tapak ini dengan teliti memperkenalkan kepada pengguna cara mencari maklumat konfigurasi komputer win11. Cara mencari maklumat konfigurasi komputer win11 Kaedah 1: 1. Klik Mula dan buka Tetapan Komputer. 3. Anda boleh melihat maklumat konfigurasi komputer pada halaman ini. 2. Dalam tetingkap command prompt, masukkan systeminfo dan tekan Enter untuk melihat konfigurasi komputer.

Jenis fail log Linux dan kaedah konfigurasi Dalam sistem Linux, fail log adalah sangat penting Mereka merekodkan status berjalan sistem, operasi pengguna, dan kejadian pelbagai peristiwa. Dengan menyemak fail log, pentadbir sistem boleh menemui masalah dalam masa dan mengendalikannya dengan sewajarnya. Artikel ini akan memperkenalkan jenis fail log biasa dalam sistem Linux dan cara mengkonfigurasi pengelogan. 1. Jenis fail log Log sistem: Log sistem ialah fail log yang merekodkan status pengendalian sistem, termasuk permulaan sistem, penutupan, permulaan dan pemberhentian perkhidmatan, dsb.
