当前位置:首页 > 文章列表 > 数据库 > MySQL > Mybatis学习日志第一天

Mybatis学习日志第一天

来源:SegmentFault 2023-02-17 15:56:46 0浏览 收藏

积累知识,胜过积蓄金银!毕竟在##column_title##开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Mybatis学习日志第一天》,就带大家讲解一下MySQL、Java知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

1.配置

配置pom文档

<?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>org.example</groupid><artifactid>Mybatis-Study</artifactid><packaging>pom</packaging><version>1.0-SNAPSHOT</version><modules><module>mybatis-01</module></modules><!-- 导入依赖--><dependencies><dependency><!-- 导入数据库依赖--><groupid>mysql</groupid><artifactid>mysql-connector-java</artifactid><version>5.1.49</version></dependency><!-- 导入Mybatis依赖--><dependency><groupid>org.mybatis</groupid><artifactid>mybatis</artifactid><version>3.5.2</version></dependency><!-- 导入Junit依赖--><dependency><groupid>junit</groupid><artifactid>junit</artifactid><version>4.12</version></dependency></dependencies><!-- maven无法读取src目录下的配置文件,加入下面代码保证maven能读取到Usermapper.xmi--><build><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build></project>

2.连接数据库

在resources下创建一个叫mybatis-config.xml文件

<?xml version="1.0" encoding="UTF-8" ?><configuration><environments default="development"><environment id="development"><transactionmanager type="JDBC"></transactionmanager><datasource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/mybaits?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT"></property><property name="username" value="root"></property><property name="password" value="root"></property></datasource></environment></environments><mappers><mapper resource="com/kuang/dao/UserMapper.xml"></mapper></mappers></configuration>
注意:手动连接数据库可能出现时区不对的情况
在url3306后面加入/?serverTimezone=GMT即可

3.创建类和接口,编写代码

3.1 mybatisUtils类

package com.kuang.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.SQL;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class MybatisUtils {
 private  static SqlSessionFactory sqlSessionFactory;
 static {
 try {
 String resource = "mybatis-config.xml";
 InputStream inputStream = Resources.getResourceAsStream(resource);
 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
 } catch (IOException e) {
 e.printStackTrace();
 }
 } // 既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。org.apache.ibatis.session.SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。
 public static SqlSession getSqlSession(){
 return sqlSessionFactory.openSession();
 }
}

3.2实体类

package com.kuang.pojo;
public class User {
 private int id;
 private String name;
 private String password;
 public User() {
 }
 public User(int id, String name, String password) {
 this.id = id;
 this.name = name;
 this.password = password;
 }
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getName() {
 return name;
 }
 public void setName(String name) {
 this.name = name;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 @Override
 public String toString() {
 return "User{" +
 "id=" + id +
 ", name='" + name + ''' +
 ", password='" + password + ''' +
 '}'; }
}

3.3接口

package com.kuang.dao;
import com.kuang.pojo.User;
import java.util.List;
public interface UserDao {
 List<user>getUserList();
}</user>

3.4 接口实现类(写在xml文件中)

<?xml version="1.0" encoding="UTF-8" ?><mapper namespace="com.kuang.dao.UserDao">&lt;select id=&quot;getUserList&quot; resulttype=&quot;com.kuang.pojo.User&quot;&gt;
 select * from mybaits.user;
  &lt;/select&gt;</mapper>

每一个xml文件都需要在mybatis-config的mappers中配置

<mappers><mapper resource="com/kuang/dao/UserMapper.xml"></mapper></mappers>
#### 3.5测试类

package com.kuang.dao;
import com.kuang.pojo.User;
import com.kuang.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao userDao = sqlSession.getMapper(UserDao.class);
List userList = userDao.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
}

## 4.测试结果
![image.png](/img/bVcKWcF)
附数据库语句
![image.png](/img/bVcKWcM)

好了,本文到此结束,带大家了解了《Mybatis学习日志第一天》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多数据库知识!

版本声明
本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
Java在Linux环境下执行MySQL命令无法获取结果的问题Java在Linux环境下执行MySQL命令无法获取结果的问题
上一篇
Java在Linux环境下执行MySQL命令无法获取结果的问题
这样看mysql中的锁,很清晰
下一篇
这样看mysql中的锁,很清晰
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    514次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    499次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • SEO  AI Mermaid 流程图:自然语言生成,文本驱动可视化创作
    AI Mermaid流程图
    SEO AI Mermaid 流程图工具:基于 Mermaid 语法,AI 辅助,自然语言生成流程图,提升可视化创作效率,适用于开发者、产品经理、教育工作者。
    657次使用
  • 搜获客笔记生成器:小红书医美爆款内容AI创作神器
    搜获客【笔记生成器】
    搜获客笔记生成器,国内首个聚焦小红书医美垂类的AI文案工具。1500万爆款文案库,行业专属算法,助您高效创作合规、引流的医美笔记,提升运营效率,引爆小红书流量!
    667次使用
  • iTerms:一站式法律AI工作台,智能合同审查起草与法律问答专家
    iTerms
    iTerms是一款专业的一站式法律AI工作台,提供AI合同审查、AI合同起草及AI法律问答服务。通过智能问答、深度思考与联网检索,助您高效检索法律法规与司法判例,告别传统模板,实现合同一键起草与在线编辑,大幅提升法律事务处理效率。
    686次使用
  • TokenPony:AI大模型API聚合平台,一站式接入,高效稳定高性价比
    TokenPony
    TokenPony是讯盟科技旗下的AI大模型聚合API平台。通过统一接口接入DeepSeek、Kimi、Qwen等主流模型,支持1024K超长上下文,实现零配置、免部署、极速响应与高性价比的AI应用开发,助力专业用户轻松构建智能服务。
    755次使用
  • 迅捷AIPPT:AI智能PPT生成器,高效制作专业演示文稿
    迅捷AIPPT
    迅捷AIPPT是一款高效AI智能PPT生成软件,一键智能生成精美演示文稿。内置海量专业模板、多样风格,支持自定义大纲,助您轻松制作高质量PPT,大幅节省时间。
    645次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码