idea 环境下 mybatis连接数据库实现增删改查

一、什么是Mybatis

这里借用官网的一句话介绍什么是mybatis:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

 

 

第一步 搭建maven环境

第二步填写包名

第三步在新建的项目中找到pom.xml文件

添加mybatis mysql 还有junit(单元测试)的依赖

添加Mybatis依赖代码(此处注意一些遇到的异常处理,看备注)

<?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>com.org.Ssm</groupId>
    <artifactId>ssm</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!--MalformedByteSequenceException:3 字节的 UTF-8 序列的字节 3 无效 解决方法-->
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>

        <!--mybatis核心jar包:开始-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <!--mybatis核心jar包:结束-->
        <!--log4j:日志记录包。运行代码时能输出日志,便于学习mybatis-->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>2.11.2</version>
        </dependency>
        <!--log4j:日志记录包。运行代码时能输出日志,便于学习mybatis-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.18</version>
            <scope>runtime</scope>
        </dependency>
  <!--      我们知道 Junit 是一个单元测试框架,那么使用 Junit 能让我们快速的完成单元测试。
          通常我们写完代码想要测试这段代码的正确性,那么必须新建一个类,然后创建一个 main() 方法,
            然后编写测试代码。如果需要测试的代码很多呢?那么要么就会建很多main() 方法来测试,要么将其全部写在一个 main() 方法里面。
            这也会大大的增加测试的复杂度,降低程序员的测试积极性。而 Junit 能很好的解决这个问题,简化单元测试,写一点测一点,
            在编写以后的代码中如果发现问题可以较快的追踪到问题的原因,减小回归错误的纠错难度。-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
    <build>
        <resources>
           <!-- src文件下xml文件加载依赖-->
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <!--MalformedByteSequenceException:3 字节的 UTF-8 序列的字节 3 无效 解决方法-->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

第四步配置mybatis核心配置文件(此处注意配置文件所在的位置,和文件中配置变量的注意事项)

<?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">
            <!--配置事务管理器:目前记住。
            JDBC采用Jdbc中的事务管理:Conenction.commit() rollback
            -->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置使用的数据源:目前使用mybaits内置的带有连接池的数据源-->
            <dataSource type="POOLED">
                <!--内置数据源的参数及取值。注意:参数名不能随便写-->
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <!--测试连接Mysql库时报错:
                java.sql.SQLException: The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more…
                在配置url的时候要加上: ?serverTimezone=UTC-->
                <!--此处连接的是本地数据库 写法为jdbc:mysql://localhost:数据库创建时的端口号/数据库名
                数据库创建此处使用的是navicat工具创建的 所以端口号 账号密码要和navicat里的一致
                不会navicat的可自行百度-->
                <property name="url" value="jdbc:mysql://localhost:3306/gxftest?serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="123456" />
            </dataSource>

        </environment>

    </environments>
   <!-- 此處强調.xml 后缀不要忘记添加,否则会报The error may exist in /dao/UserMapper.xml-->
   <!--此处是上图文件的路径-->
    <mappers>
        <mapper resource="mapper/userMapper.xml"/>
    </mappers>

</configuration>

第六步创建与数据库中表一致的的实体类 navicat 进行数据库的创建

命令

CREATE DATABASE gxftest;
USE gxftest;
CREATE TABLE t_user(
uid INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100),
password VARCHAR(100)
);

第七步创建数据库增删改查功能和mybatis的映射关系

7.1现创建mapper.xml文件

7.2在mybatis核心配置文件中映射mapper文件

到此关联已建立下面就是代码进行数据库的增删改查

第一步打开数据库通道

第二步封装测试基本类

最后编写测试类

原创代码demo已上传


版权声明:本文为gxflh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。