idea搭建Mybatis简单demo的详细解释

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: idea搭建Mybatis简单demo的详细解释

#### 我们建一个用户账户、密码的crud

新建maven工程,pom.xml添加相关依赖:




```java

<dependencies>


   <dependency>

       <groupId>org.mybatis</groupId>

       <artifactId>mybaties</artifactId>

       <version>3.4.5</version>

   </dependency>


   <dependency>

       <groupId>mysql</groupId>

       <artifactId>mysql-connector-java</artifactId>

       <version>8.0.19</version>

   </dependency>


<dependency>

   <groupId>org.projectlombok</groupId>

   <artifactId>lombok</artifactId>

   <version>1.18.12</version>

   <scope>provided</scope>

</dependency>


</dependencies>

```




创建表


```sql

create table t_account(

    id int primary key auto_increment,

  username varchar(11),

   password varchar(11),

  age int);

```


 




新建数据表对应的实体类Account


```java

@Data

public class Account {

   private long id;

   private String username;

   private String password;

   private int age;

}

```


创建MyBatis的配置文件 config.xml,文件名可自定义


```java

<?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值和environment的id来指定Mybatis运行时的数据库环境 -->

 <environments default="development">

 <!-- 开发环境(自己的计算机) -->

  <environment id="development">

 

   <!-- 事务提交分式:

   JDBC:利用JDBC方式处理事务(commit rollback close)

   MANAGED:将事务交由其他组件去托管(spring,jobss),默认会关闭连接

    -->

   <transactionManager type="JDBC"/>

    <!-- 数据源类型:

    UNPOOLED:传统的JDBC模式(每次访问数据库,均需要打开、关闭等数据库操作,但打开、关闭数据库是比较消耗性能的)

    POOLED:使用数据库连接池

    JNDI:从tomcat中获取一个内置的数据库连接池(数据库连接池-数据源)

     -->

 

   <dataSource type="POOLED">

   <!-- 配置数据库信息 -->

    <property name="driver" value="com.mysql.jdbc.Driver"/>

    <property name="url" value="jdbc:mysql://localhost:3306/test"/>

    <property name="username" value="shuang"/>

    <property name="password" value="mysql215311?"/>

   </dataSource>

  </environment>

 <!-- 服务器 -->  

  <environment id="test">

   <transactionManager type="JDBC"/>

   <dataSource type="POOLED">

   <!-- 配置数据库信息 -->

    <property name="driver" value="com.mysql.jdbc.Driver"/>

    <property name="url" value="jdbc:mysql://localhost:3306/test"/>

    <property name="username" value="shuang"/>

    <property name="password" value="mysql215311?"/>

   </dataSource>

  </environment>

 </environments>

 

       

</configuration>

```


使用原生接口

1,MyBatis框架需要开发者自定义SQL语句,写在Mapper.xml文件中,实际开发中,会为每个实体类创建对应的Mapper.xml,定义管理该对象数据的SQL


```java

<?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.shuang.mapper.AccountMapper">

   <insert id="save" parameterType="com.shuang.entity.Account">

       insert into t_account(username,password,age) values(#{usernaem},#{password},#{age});

   </insert>

</mapper>

```


namespace通常设置为文件所在包+文件名的形式

id是实际调用MyBatis方法时需要用到的参数

paramentType是调用对应方法时的参数类型

2,在全局配置文件config.xml中注册AccountMapper.xml文件


```java

<?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值和environment的id来指定Mybatis运行时的数据库环境 -->

 <environments default="development">

 <!-- 开发环境(自己的计算机) -->

  <environment id="development">

 

   <!-- 事务提交分式:

   JDBC:利用JDBC方式处理事务(commit rollback close)

   MANAGED:将事务交由其他组件去托管(spring,jobss),默认会关闭连接

    -->

   <transactionManager type="JDBC"/>

    <!-- 数据源类型:

    UNPOOLED:传统的JDBC模式(每次访问数据库,均需要打开、关闭等数据库操作,但打开、关闭数据库是比较消耗性能的)

    POOLED:使用数据库连接池

    JNDI:从tomcat中获取一个内置的数据库连接池(数据库连接池-数据源)

     -->

 

   <dataSource type="POOLED">

   <!-- 配置数据库信息 -->

    <property name="driver" value="com.mysql.jdbc.Driver"/>

    <property name="url" value="jdbc:mysql://localhost:3306/test"/>

    <property name="username" value="shuang"/>

    <property name="password" value="mysql215311?"/>

   </dataSource>

  </environment>

 <!-- 服务器 -->  

  <environment id="test">

   <transactionManager type="JDBC"/>

   <dataSource type="POOLED">

   <!-- 配置数据库信息 -->

    <property name="driver" value="com.mysql.jdbc.Driver"/>

    <property name="url" value="jdbc:mysql://localhost:3306/test"/>

    <property name="username" value="shuang"/>

    <property name="password" value="mysql215311?"/>

   </dataSource>

  </environment>

 </environments>

 

          <!--注册AccountMapper.xml -->

 <mappers>

     <!--加载映射文件  -->

     <mapper resource="org/sample/entity/personMapper.xml"/>

 </mappers>

</configuration>

```


3,调用MyBatis的原生接口,来执行添加操作


```java

public class Test {

   public static void main(String [] args){

       //加载MyBaties配置文件

       InputStream inputStream=Test.class.getResourceAsStream("config.xml");

       SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();

       SqlSessionFactory sqlSessionFactory=sqlSessionFactoryBuilder.build(inputStream);

       SqlSession sqlSession=sqlSessionFactory.openSession();

//      通过config.xml里面的namespace+id来确定执行的语句

       String statement="com.shuang.mapper.AccountMapper.save";

       Account account=new Account(1L,"张三","123123",23);

       sqlSession.insert(statement,account);

       sqlSession.commit();

   }

}

```

好了,增加完成了,其余类推




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
前端开发 Java 数据库连接
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
72 0
|
6月前
|
XML SQL Java
ClickHouse【SpringBoot集成】clickhouse+mybatis-plus配置及使用问题说明(含建表语句、demo源码、测试说明)
ClickHouse【SpringBoot集成】clickhouse+mybatis-plus配置及使用问题说明(含建表语句、demo源码、测试说明)
697 0
|
23天前
|
搜索推荐 Java 数据库连接
Java|在 IDEA 里自动生成 MyBatis 模板代码
基于 MyBatis 开发的项目,新增数据库表以后,总是需要编写对应的 Entity、Mapper 和 Service 等等 Class 的代码,这些都是重复的工作,我们可以想一些办法来自动生成这些代码。
30 6
|
19天前
|
SQL Java 数据库连接
MyBatis-Plus快速入门:从安装到第一个Demo
本文将带你从零开始,快速入门 MyBatis-Plus。我们将首先介绍如何安装和配置 MyBatis-Plus,然后通过一个简单的示例演示如何使用它进行数据操作。无论你是 MyBatis 的新手还是希望提升开发效率的老手,本文都将为你提供清晰的指导和实用的技巧。
106 0
MyBatis-Plus快速入门:从安装到第一个Demo
|
3月前
|
缓存 Java 应用服务中间件
支付宝 网站支付Demo 案例【沙箱环境】IDEA如何配置启动Eclipse项目
该博客文章讲述了如何在IntelliJ IDEA中配置和启动一个使用Eclipse开发的支付宝网站支付Demo案例。文章详细记录了从导入项目到配置Tomcat,再到解决启动过程中遇到的问题的步骤。作者还分享了在IDEA中遇到的一些常见问题,如项目配置、依赖库添加、编码问题等,并提供了相应的解决方案。此外,文章还提供了支付效果的展示以及一些支付宝案例文档中需要修改的参数信息。
支付宝 网站支付Demo 案例【沙箱环境】IDEA如何配置启动Eclipse项目
|
3月前
|
SQL 前端开发 Java
动态搜索图书:可以按书名、作者、出版社以及价格范围进行搜索。(在IDEA中mybatis)
这篇文章介绍了如何在IDEA中使用MyBatis实现动态图书搜索功能,包括按书名、作者、出版社搜索以及实现价格范围查询的方法,并提供了前端页面的实现代码和MyBatis的动态SQL语句示例。
动态搜索图书:可以按书名、作者、出版社以及价格范围进行搜索。(在IDEA中mybatis)
|
4月前
|
SQL Java 数据库连接
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
idea中配置mybatis 映射文件模版及 mybatis plus 自定义sql
91 3
|
4月前
|
SQL 监控 Java
IDEA插件-Mybatis Log Free日志替换
MyBatis Log Free 是一个免费的用于在 IntelliJ IDEA 中显示 MyBatis 日志的插件。它可以帮助您更方便地查看和分析 MyBatis 的 SQL 执行情况,以及定位潜在的性能问题,提高开发效率。
392 0
IDEA插件-Mybatis Log Free日志替换
|
5月前
|
SQL Java 数据库连接
IDEA插件(MyBatis Log Free)
IDEA插件(MyBatis Log Free)
350 0
|
5月前
|
Java 数据库连接 mybatis
idea无法下载Mybatis插件怎么办
idea无法下载Mybatis插件怎么办