spring和mybatis整合:使用xml方式
生活随笔
收集整理的這篇文章主要介紹了
spring和mybatis整合:使用xml方式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- spring和mybatis整合:使用xml方式
- 1. 創(chuàng)建數(shù)據(jù)庫(kù)
- 2. 創(chuàng)建工程,pom.xml文件如下:
- 3. 依賴下載地址如下:
- 4. 配置mybatis的全局配置,在resources目錄中加入mybatis-configuration.xml文件
- 5. 定義表所對(duì)應(yīng)的實(shí)體類,一般在bean目錄下,或者pojo目錄下
- 6. 定義操作 t_user 表的sql映射文件UserMapper.xml
- 7. 在mybatis-configuration.xml配置文件中注冊(cè)UserMapper.xml文件
- 8. 文件結(jié)構(gòu)
spring和mybatis整合:使用xml方式
1. 創(chuàng)建數(shù)據(jù)庫(kù)
DROP DATABASE IF EXISTS `crm`; CREATE DATABASE `crm`; use `crm`; DROP TABLE IF EXISTS `t_user`; CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_tel` varchar(11) COLLATE utf8mb4_unicode_ci NOT NULL, `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL, `registration_time` datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB CHARSET=utf8;INSERT INTO `t_user` VALUES ('1', '13880000001', '金庸', '0b4e7a0e5fe84ad35fb5f95b9ceeac79', '2018-12-15 06:54:16'),('2', '13880000002', '張三豐', '875f26fdb1cecf20ceb4ca028263dec6', '2018-12-15 06:54:16'), ('3', '13880000003', '張無(wú)忌', 'c1f68ec06b490b3ecb4066b1b13a9ee9', '2018-12-15 06:54:16'), ('4', '13880000004', '黃蓉', '980ac217c6b51e7dc41040bec1edfec8', '2018-12-15 06:54:16'), ('5', '13880000005', '郭靖', 'cd87cd5ef753a06ee79fc75dc7cfe66c', '2018-12-15 06:54:16'),('6', '13880000006', '周伯通', 'eed8cdc400dfd4ec85dff70a170066b7', '2018-12-15 06:54:16'),('7', '13880000006', '楊過', '594f803b380a41396ed63dca39503542', '2018-12-17 17:05:40');2. 創(chuàng)建工程,pom.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.yingside</groupId><artifactId>mybatisdemo</artifactId><version>1.0-SNAPSHOT</version><dependencies><!--mysql數(shù)據(jù)庫(kù)驅(qū)動(dòng)包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!--引入mybatis包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><!--引入junit測(cè)試包--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies></project>3. 依賴下載地址如下:
https://mvnrepository.com/
4. 配置mybatis的全局配置,在resources目錄中加入mybatis-configuration.xml文件
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/crm"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments></configuration>5. 定義表所對(duì)應(yīng)的實(shí)體類,一般在bean目錄下,或者pojo目錄下
package com.yingside.bean;public class User { private int id; private String userTel; private String username; private String password; private String registrationTime; public int getId() { return id;} public void setId(int id) { this.id = id;} public String getUserTel() { return userTel;} public void setUserTel(String userTel) { this.userTel = userTel;} public String getUsername() { return username;} public void setUsername(String username) { this.username = username;} public String getPassword() { return password;} public void setPassword(String password) { this.password = password;} public String getRegistrationTime() { return registrationTime;} public void setRegistrationTime(String registrationTime) { this.registrationTime = registrationTime;} @Overridepublic String toString() { return "User{" +"id=" + id +", userTel='" + userTel + '\'' +", username='" + username + '\'' +", password='" + password + '\'' + ", registrationTime='" + registrationTime + '\'' + '}';} }6. 定義操作 t_user 表的sql映射文件UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 這個(gè)XML文件其實(shí)就相當(dāng)于我們?nèi)龑蛹軜?gòu)中的DAO層的實(shí)現(xiàn)類xxxDaoImpl,如果拿它跟具有相同功能的 JDBC 代碼進(jìn)行對(duì)比,你會(huì)立即發(fā)現(xiàn)省掉了將近 95% 的代碼。也就是說(shuō),有了這個(gè)配置文件,至少之前原始JDBC中經(jīng)常出現(xiàn)的Connection,PreparedStatement,ResultSet這些接口不需要你再創(chuàng)建了當(dāng)然要編寫這個(gè)文件,需要對(duì)<mapper>標(biāo)簽中出現(xiàn)的屬性和標(biāo)簽都要熟悉,不過沒有必要去一一熟悉,用到什么我們?cè)偃ゲ樵兙托辛?--> <!-- 為這個(gè)mapper指定一個(gè)唯一的namespace,namespace的值習(xí)慣上設(shè)置成包名+sql映射文件名,這樣就能夠保證namespace的值是唯一的 例如namespace="om.yingside.mapper.UserMapper"就是com.yingside.mapper(包名)+UserMapper(UserMapper.xml文件去除后綴)--> <mapper namespace="com.yingside.mapper.UserMapper"><!--根據(jù) id 查詢 user 表中的數(shù)據(jù)id:唯一標(biāo)識(shí)符,此文件中的id值不能重復(fù),簡(jiǎn)單來(lái)說(shuō),就是DAO層中的方法名resultType:返回值類型,一條數(shù)據(jù)庫(kù)記錄也就對(duì)應(yīng)實(shí)體類的一個(gè)對(duì)象,注意現(xiàn)在要跟上全名(包名+類名)parameterType:參數(shù)類型,也就是查詢條件的類型#{}表示一個(gè)占位符即?,在使用時(shí)不需要關(guān)心參數(shù)值的類型,mybatis會(huì)自動(dòng)進(jìn)行java類型和jdbc類型的轉(zhuǎn)換。--><select id="getUser" parameterType="int"resultType="com.yingside.bean.User">select * from t_user where id=#{id} </select> </mapper>7. 在mybatis-configuration.xml配置文件中注冊(cè)UserMapper.xml文件
mybatis-configuration.xml文件的<configuration></configuration>標(biāo)簽中加入<mappers></mappers>標(biāo)簽
<!-- 注冊(cè)UserMapper.xml文件,UserMapper.xml位于com.yingside.mapper這個(gè)包下,所以resource寫成com/yingside/mapper/UserMapper.xml--><mappers><mapper resource="com/yingside/mapper/UserMapper.xml" /></mappers>8. 文件結(jié)構(gòu)
總結(jié)
以上是生活随笔為你收集整理的spring和mybatis整合:使用xml方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot 和 mybatis
- 下一篇: 语音特征提取: MFCC的理解