一小时迅速入门Mybatis之初识篇

作者:grace.free 时间:2023-07-20 10:27:23 

一、Mybatis简介

Mybatis是一款超级无敌的持久层框架,它支持自定义SQL、存储过程以及高级映射。Mybatis可以通过简单的XML或者注解来配置和映射原始类型、接口和Java POJO为数据库中的记录。

Mybatis相比于Hibernate在处理复杂业务的时候灵活度更高、复杂的SQL编写更容易。

二、mybatis入门

2.1 创建Maven项目

一小时迅速入门Mybatis之初识篇

一小时迅速入门Mybatis之初识篇

一小时迅速入门Mybatis之初识篇

2.2 修改pom文件(引入jar包)

很早之前我们引入一个外部项目需要到处去下载jar包,然后放入项目的lib目录下,但是自从用了maven以后我们只需要一个坐标,maven帮我们搞定一切!


<?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-Test</artifactId>
   <version>1.0-SNAPSHOT</version>

<properties>
       <maven.compiler.source>8</maven.compiler.source>
       <maven.compiler.target>8</maven.compiler.target>
   </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>5.1.47</version>
       </dependency>

</dependencies>

</project>

2.3 编写xml

mybatis-config.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/test?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=GMT%2B8"/>
               <property name="username" value="root"/>
               <property name="password" value="123456"/>
           </dataSource>
       </environment>
   </environments>
   <mappers>
       <mapper resource="TestMapper.xml"/>
   </mappers>
</configuration>

说明:

1.注意自己的driver 看是否需要根据版本改为:com.mysql.cj.jdbc.Driver

2.&amp; 这个是&在xml中的转义表示

TestMapper.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">
<mapper namespace="TestMapper">
   <select id="list" resultType="map">
       select * from test
   </select>
</mapper>

2.4 编写Java代码


import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;
import java.util.Map;

/**
* 一个生活在互联网底层,做着增删改查的码农,不谙世事的造作
* @create 2021-08-25 21:26
*/
public class TestMain {
   public static void main(String[] args) throws Exception {
       // 1.配置文件编程输入流
       String resource = "mybatis-config.xml";
       InputStream inputStream = Resources.getResourceAsStream(resource);
       // 2. 创建SqlSession工厂
       SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
       // 3. 创建SqlSession
       // try里边创建数据流 try语句执行完后流会被自动关闭 但是资源必须实现java.lang.AutoCloseable接口
       // 这叫做 ARM 块(Automatic Resource Management)
       // SqlSession 实现了Closeable  Closeable继承了AutoCloseable接口
       try (SqlSession session = sqlSessionFactory.openSession()) {
           // 4. 执行查询 查列表出来
           List<Map<String,Object>> res = session.selectList("TestMapper.list");
           // 5. 遍历结果输出
           if (res != null) {
               for (int i = 0; i < res.size(); i++) {
                   Map<String,Object> tmp = res.get(i);
                   System.out.println("id="+tmp.get("id")+",name="+
                           tmp.get("name")+",salary="+tmp.get("salary"));
               }
           }
       }
   }
}

输出结果

一小时迅速入门Mybatis之初识篇

项目结构:

一小时迅速入门Mybatis之初识篇

2.5 唠唠

  1. demo中配置文件写在xml中 真实项目中不会这样写 会写到配置文件或者配置中心

  2. demo中没有使用自定义实体类 真实项目中大部分都是自定义实体类

  3. demo中没有使用接口 真实项目中大部分都是使用面向接口的

  4. demo中只写了查询 真实项目中大部分都是增删改查都有

下篇预告:

  1. 面向接口编写Mybatis代码

  2. 自定义实体类

  3. 增删改查

来源:https://blog.csdn.net/qq_36291682/article/details/119939494

标签:Mybatis,入门,Java
0
投稿

猜你喜欢

  • C# 关于AppDomain的一些总结

    2022-07-18 09:30:18
  • SpringBoot整合OpenApi的实践

    2023-08-03 11:59:55
  • Gradle的缓存路径修改的四种方法(小结)

    2021-11-09 11:05:51
  • Android仿QQ列表滑动删除操作

    2023-10-10 18:31:59
  • java获取时间的方法总结

    2022-03-28 15:36:38
  • java生成json数据示例

    2023-10-30 04:06:45
  • android 中 webview 怎么用 localStorage

    2023-04-28 04:38:36
  • Java中线程休眠编程实例

    2021-09-06 11:42:55
  • Android设置Activity背景为透明style的简单方法(必看)

    2021-08-13 14:20:18
  • Android图片缓存之初识Glide(三)

    2022-02-18 12:05:21
  • Android开发之机顶盒上gridview和ScrollView的使用详解

    2021-08-06 11:57:59
  • Andriod使用多线程实现轮播图片

    2023-07-27 15:47:31
  • C# goto语句的具体使用

    2021-07-22 22:26:22
  • 一文带你了解Android中的网络请求

    2023-08-11 23:46:38
  • 深入了解Java数据结构和算法之堆

    2022-07-23 19:45:49
  • 使用String类型小数值转换为Long类型

    2023-04-14 10:34:56
  • Java总结篇系列:Java泛型详解

    2023-01-25 03:42:58
  • JAVA中常见异常类

    2021-11-09 09:47:20
  • Android Java try catch 失效问题及解决

    2023-06-17 17:07:33
  • 轻松实现Android语音识别功能

    2022-09-11 17:42:46
  • asp之家 软件编程 m.aspxhome.com