首页 > 其他分享 >学习mybatis连接

学习mybatis连接

时间:2023-08-28 15:26:29浏览次数:52  
标签:xml mapper 创建 接口 学习 mybatis 连接 resources

1.在pom中添加mybatis,Junit依赖,以及MySQL数据库驱动

在配置文件夹创建xml文件,默认名称为mybatis-config.xml

在xml中配置数据库连接环境,官方文档有模板

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://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://localhost:3306/mybatisplus_db?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTG-8&amp;serverTimezone=GMT%2B8"/> //配置数据库URL,数据库安全连接,设置中文转义字符,设置时区
<property name="username" value="root"/> 用户名
<property name="password" value="root"/> 密码
</dataSource>
</environment>
</environments>

</configuration>
2.编写主类创造属性的构造方法并getset封装,封装完成在dao层定义接口便于实现类来实现,一般接口名字叫UserDao,可以在接口中定义crud等方法。
然后通过创建mapper.xml文件来绑定并使用sql语言对方法内容进行编写。(xml文件模板阅读官方文档可以找到)
标签里面分别填写的是对应接口中的方法名,和返回的泛型所在命名空间


3.工具类until中创建sqlsessionFactory来实例化sqlsession对象。(固定工具可以直接使用)
public class MybatisUtils {
static {

try {
String resources="mybatis-config.xml";
InputStream inputStream=Resources.getResourceAsStream(resources);
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
throw new RuntimeException(e);
}


}

}

从官方文档模板工具类代码编译而成,使用trycatch环绕,然后使用对象调用了sqlSessionFactory.openSession()方法

4.工具类也编写好后可以在测试类中使用工具类调用创建的方法完成测试


注意!:1:当xml创建在java中而不在resources中时maven会选择过滤,需要在pom文件中添加依赖
   2:并且每一个mapper.xml文件都需要在resources中的核心配置文件中注册

<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>

 

 

总结:使用springboot整合mybatis

第一步先在resources中添加xml文件配置连接数据库。第二步创建好实体类设置属性字段对应数据库中的内容。第三步创建接口编写需要调用的方法如crud,然后创建实现类mapper.xml文件,在mapper中编写接口中的方法以及绑定返回值。第四步在测试类中创建sqlsession对象,实现mapper,调用mapper方法。

注!:crud需要提交事务,session.commit(),记得关闭工厂避免资源浪费。


标签:xml,mapper,创建,接口,学习,mybatis,连接,resources
From: https://www.cnblogs.com/zz999zhl/p/17662345.html

相关文章

  • RabbitMQ 管理页面该如何查看有哪些连接
    用浏览器访问  http://192.168.1.100:15672   默认用户名:admin   密码: admin 登陆后显示 在Connections页中查看所有连接    ......
  • MAUI学习之始--数据绑定,命令绑定 MVVM
    MVVMMVVM(model-view-view-model)模型之前在刚开始学Xamarin的时候,都是把页面的的表示文件(.xaml)和页面中的命令写在一起。一开始只有一两个页面还好,因为每个页面之间的联系都不是特别多,我们还能看得过来。修改的时候也还好,就想改哪里点哪里。但是奥!但是!当我们页面......
  • [计算机学习]PWN 入门启程
    2023年8月10日开通开通了ctf.show的PWN入门课程。之前是去年打ctf比赛,买过VIP。题目很多,挺适合新手入门,如果你也要学习打CTF,建议可以买一个VIP会员,题目很多,可以一关一关自己练习。如果纯萌新,也可以买一个私教课程。2023年8月28日第一次写writeupPWN0使用MobaXterm.exe连接题......
  • 联邦学习中的安全多方计算
    联邦学习中的安全多方计算SecureMulti-partyComputationinFederatedLearning什么是安全多方计算安全多方计算就是许多参与方需要共同工作完成一个计算任务或者执行一个数学函数,每个参与方针对这个执行构建自己的数据或份额,但不想泄露自己的数据给其他参与方。在安全多方......
  • Java中通过代理连接至指定的URL
    importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.net.Authenticator;importjava.net.InetSocketAddress;importjava.net.PasswordAuthentication;importjava.net.Proxy;importjava.......
  • ☀️Navicat连接Oracle:'ORA-12638: Credential retrieval failed' 解决办法
    前言:我们在使用Navicat连接Oracle数据库的时候,需要oci.dll动态链接库,Navicat16在安装时候已经自带了。我在之前使用一直好好的,就今天需要连一个新项目的Oracle,报错了:ORA-12638:Credentialretrievalfailed',如下:解决:通过同事口中得知,要连接的Oracle版本是:12c(12.2.0.1.0),而......
  • python+playwright 学习-77 playwright 发送接口请求APIRequestContext
    前言每个Playwright浏览器上下文都有与其关联的APIRequestContext实例,该实例与浏览器上下文共享cookie存储,可以通过browser_context.request或page.request访问。也可以通过调用api_request.new_context()手动创建一个新的APIRequest上下文实例。通过浏览器发请求可以通过browser......
  • 01 字典树学习笔记
    01字典树前置知识:字典树。01字典树是一种特殊的字典树,它会把数字看作二进制的\(\texttt{01}\)串存入字符串。在树上,除了叶子节点外的所有节点都表示一个数的范围。我们在插入元素时,和在字典树中插入元素时类似的。这里不再阐述。插入示例代码如下:constintMAXN=2e6......
  • 学习笔记:DSTAGNN中ST块的代码分析
    DSTAGNN模型可以看我上一个博客学习笔记:DSTAGNN:DynamicSpatial-TemporalAwareGraphNeuralNetworkforTrafficFlowForecasting这篇博客主要写了我对代码中ST块部分的阅读。写这篇模型的初衷,是这篇论文结构图和语言描述不太一致,再加上我想要学习怎么写一个时空预测的代......
  • 爬虫异常处理之如何处理连接丢失和数据存储异常
    在爬虫开发过程中,我们可能会遇到各种异常情况,如连接丢失、数据存储异常等。本文将介绍如何处理这些异常,并提供具体的解决代码。我们将以Python语言为例,使用requests库进行网络请求和sqlite3库进行数据存储。1.处理连接丢失连接丢失可能是由于网络不稳定、目标网站不可用等原因导致......