MyBatis基础入门1 - mac下MyBatis在idea的配置

本文介绍了如何使用MyBatis框架解决JDBC的问题,包括配置步骤、创建实体类和接口、编写Mapper配置文件,以及实现简单增删改查操作。从数据库连接管理到SQL编写,展示了MyBatis提高开发效率和系统维护性的关键特性。
摘要由CSDN通过智能技术生成

MyBatis是java持久层的框架,我们知道java与数据库进行数据交换时需要使用jdbc,但是jdbc却存在有以下几个问题:

  • 数据库连接的频繁创建、释放浪费资源进而影响系统性能。
  • sql代码写在 java文件当中,如果在开发过程中我们改动某个sql,就需要去修改java代码,改完之后还需要重新编译。
  • 对结果集的解析也是硬编码,sql变化会导致解析结果的代码也跟着变化,系统不易维护。

进而我们使用MyBatis框架来代替jdbc。

配置

我使用的idea版本是:2021.2.2

首先我们新建一个maven项目

然后选定项目目录

这是最初始的页面

接下来我们需要在pom.xml下引入坐标

以下是我引入的坐标及jar包

1. 引入MyBatis的3.4.5的版本的坐标

2. 引入MySQL驱动的jar包,5.1.6版本

3. 引入Junit单元测试的jar包

4. 引入log4j的jar包,1.2.12版本(需要引入log4j.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.6</version>
        </dependency>
        <!-- 单元测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
        <!-- 日志 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

 引入后我们需要点一下“m”使其生效。

我们知道MyBatis是为了和数据库传输数据,所以我们创建一个数据库和一张user表

代码如下,直接在Navicat下运行即可

create database mybatis_demo;

use mybatis_demo;

CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(32) NOT NULL COMMENT '用户名称',
`birthday` datetime default NULL COMMENT '生日',
`sex` char(1) default NULL COMMENT '性别',
`address` varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (1,'老王','2018-02-27
17:47:08','男','北京'),(2,'熊大','2018-03-02 15:09:37','女','上海'),(3,'熊二','2018-03-04
11:34:34','女','深圳'),(4,'光头强','2018-03-04 12:04:06','男','广州');

 然后我们在源根目录下创建一个实体类User,数据库中的一个表对应java中的一个实体类

 我们按照数据库表中字段为其设置一一对应的属性,然后生成对应的get和set方法

private Integer id;
    private String username;
    private Date birthday;
    private String sex;
    private String address;

 接下来我们需要创建一个userDao接口

然后我们需要在resources目录下,创建mapper文件夹。编写UserDao.xml的配置文件,导入约束文件。我们所写的sql语句都在UserDao.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="">
   
</mapper>

 创建UserDao.xml

 我们在namespace里映射到UserDao接口

 接下来需要创建主配置目录,我们在resources目录下创建SqlMapConfig.xml的配置文件(这里名称随意起)然后导入对应的约束,并编写主配置文件。

首次创建和刚刚创建UserDao.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="mysql">
        <environment id="mysql">
            <!--配置事务的类型,使用本地事务策略-->
            <transactionManager type="JDBC"></transactionManager>
            <!--是否使用连接池 POOLED表示使用链接池,UNPOOLED表示不使用连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo?characterEncoding=utf8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/UserDao.xml"></mapper>
    </mappers>
</configuration>

至此基本配置已经完成。

测试

下面我们来做一个简单的测试:

首先我们在UserDao.xml里写一条sql语句

我们来查询数据库里的所有信息

然后我们需要在UserDao接口中定义相关方法,和id对应

 

 然后我们在测试目录下创建一个UserTest类并写下查询方法

查询成功

Mybatis基础入门2-----简单的增删改查

 MyBatis入门基础3 ---代理

MyBatis基础入门4:#{}和${}传参的使用区别 

Mybatis基础入门5:动态sql

MyBatis基础入门6:关联映射

MyBatis基础入门7:注解开发 

MyBatis基础入门8:缓存机制 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值