Mybatis通過Mapper代理連接數(shù)據(jù)庫的方法
1.在數(shù)據(jù)庫中創(chuàng)建表和相應(yīng)字段,如下圖我創(chuàng)建了三個字段分別為fromname,message,toname,類型為varchar

2.創(chuàng)建對應(yīng)的pojo實(shí)體類,注意類型要和數(shù)據(jù)庫創(chuàng)建類型一致,如varchar()對應(yīng)的是java.lang.String

3.在resource路徑下配置config.xml,配置Mybatis的運(yùn)行環(huán)境3306/后面加上自己的數(shù)據(jù)庫schema名字,數(shù)據(jù)庫username和password輸入自己的賬號和密碼,而在下方mapper則是用于注冊我們待會要寫的xml文件,路徑用/ 寫上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>
<!--配置Mybatis運(yùn)行環(huán)境-->
<environments default="development"><!--default命名-->
<environment id="development"><!--和上面的一致-->
<transactionManager type="JDBC"></transactionManager><!--事務(wù)管理 交給JDBC-->
<!-- 數(shù)據(jù)源 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/bjpower?
useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="xxxx"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- <mapper resource="com/yyj/repository/msgdataRepository.xml"></mapper>-->
<mapper resource="com/yyj/repository/msgdatanewRepository.xml"></mapper>
</mappers>
</configuration>
4.自定義接口,在repository包下自定義接口,待會在xml中實(shí)現(xiàn)即可

5.在repository中建立對應(yīng)的xml文件,如我取的名稱為MsgdatanewReposiotory,名字可自定義,注意mapper注冊和改名字一樣即可,然后編寫sql語句
statement 的 id 為接⼝中對應(yīng)的⽅法名
<?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">
<mapper namespace="com.yyj.repository.MsgdatanewRepository"><!--接口全類名-->
<insert id="save1" parameterType="com.yyj.pojo.MessageData">
<!--parameterType為傳入的參數(shù)類型,是剛剛設(shè)置的pojo類-->
insert into msgdatanew(fromname,message,toname) values (#{fromName},#{message},#{toName})
</insert>
<!--resultType為返回值類型-->
<select id="findByName1" parameterType="java.lang.String"
resultType="com.yyj.pojo.MessageData">
select * from msgdatanew where toname = #{toName}
</select>
</mapper>
6.調(diào)用測試類即可,注意要添加commit事務(wù)才能提交成功,數(shù)據(jù)庫才有變化
package com.yyj.Test;
import com.yyj.pojo.MessageData;
import com.yyj.repository.MsgdatanewRepository;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
public class Test2 {
// public void add(String toName,String message,String fromName){
public static void main(String[] args) {
InputStream inputStream = Test2.class.getClassLoader().getResourceAsStream("config.xml");
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
MsgdatanewRepository msgdatanewRepository = sqlSession.getMapper(MsgdatanewRepository.class);
MessageData messageData=new MessageData();
messageData.setMessage("nihaoyayay");
messageData.setFromName("lisi");
int save = msgdatanewRepository.save1(messageData);
System.out.println(save);
sqlSession.commit();
}
}
7.效果展示
8.附上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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo</groupId>
<artifactId>websocket-chatroom</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>websocket-chatroom</name>
<description>WebSocket示例工程</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
</properties>
<dependencies>
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--mysql驅(qū)動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- <!– ehcache –>-->
<!-- <dependency>-->
<!-- <groupId>net.sf.ehcache</groupId>-->
<!-- <artifactId>ehcache-core</artifactId>-->
<!-- <version>2.4.3</version>-->
<!-- </dependency> <dependency>-->
<!-- <groupId>org.mybatis</groupId>-->
<!-- <artifactId>mybatis-ehcache</artifactId>-->
<!-- <version>1.0.0</version>-->
<!-- </dependency>-->
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.7.RELEASE</version>
<configuration>
<mainClass>com.yyj.WebsocketChatroomApplication</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>
</project>
到此這篇關(guān)于Mybatis通過Mapper代理連接數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Mybatis Mapper代理連接數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring boot整合mybatis使用c3p0數(shù)據(jù)源連接mysql
這篇文章主要為大家詳細(xì)介紹了spring boot整合mybatis使用c3p0數(shù)據(jù)源連接mysql,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
一文詳解Java中的可變對象(Mutable)與不可變對象(Immutable)
如何在 Java 中創(chuàng)建不可變對象?我以前以為所有對象都是不可變的,因?yàn)槿绻愀淖円粋€ String 實(shí)例的內(nèi)容,它總是會創(chuàng)建一個新的 String 對象并指向該對象,在本文中,我不僅將分享在 Java 中Immutable的步驟,還將討論可變對象與不可變對象及其優(yōu)缺點(diǎn)2023-11-11
idea2020.1無法自動加載maven依賴的jar包問題及解決方法
這篇文章主要介紹了idea2020.1無法自動加載maven依賴的jar包問題及解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
java使用計(jì)算md5校驗(yàn)碼方式比較兩個文件是否相同
MD5文件效驗(yàn)碼是一個判斷文件是否是相同文件的途徑,通過比較兩個文件的Md5效驗(yàn)碼是否相同來精確判斷兩個文件是否相同2014-04-04

