我是靠谱客的博主 动听大炮,这篇文章主要介绍Mybatis通过Mapper代理连接数据库的方法,现在分享给大家,希望可以做个参考。

1.在数据库中创建表和相应字段,如下图我创建了三个字段分别为fromname,message,toname,类型为varchar

2.创建对应的pojo实体类,注意类型要和数据库创建类型一致,如varchar()对应的是java.lang.String 

 3.在resource路径下配置config.xml,配置Mybatis的运行环境3306/后面加上自己的数据库schema名字,数据库username和password输入自己的账号和密码,而在下方mapper则是用于注册我们待会要写的xml文件,路径用/ 写上xml的全名称。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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运行环境--> <environments default="development"><!--default命名--> <environment id="development"><!--和上面的一致--> <transactionManager type="JDBC"></transactionManager><!--事务管理 交给JDBC--> <!-- 数据源 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/bjpower? useUnicode=true&amp;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中实现即可

5.在repository中建立对应的xml文件,如我取的名称为MsgdatanewReposiotory,名字可自定义,注意mapper注册和改名字一样即可,然后编写sql语句          

statement 的 id 为接⼝中对应的⽅法名

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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为传入的参数类型,是刚刚设置的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.调用测试类即可,注意要添加commit事务才能提交成功,数据库才有变化

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?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驱动--> <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> <!-- &lt;!&ndash; ehcache &ndash;&gt;--> <!-- <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>

到此这篇关于Mybatis通过Mapper代理连接数据库的文章就介绍到这了,更多相关Mybatis Mapper代理连接数据库内容请搜索靠谱客以前的文章或继续浏览下面的相关文章希望大家以后多多支持靠谱客!

最后

以上就是动听大炮最近收集整理的关于Mybatis通过Mapper代理连接数据库的方法的全部内容,更多相关Mybatis通过Mapper代理连接数据库内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(99)

评论列表共有 0 条评论

立即
投稿
返回
顶部