IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 在idea中创建maven工程,搭建mybatis框架,完成单表增删改查操作 -> 正文阅读

[开发工具]在idea中创建maven工程,搭建mybatis框架,完成单表增删改查操作

在idea中创建maven工程,搭建mybatis框架

一、创建一个maven项目

选择file–>new–>project,选择maven和与自己相搭配的jdk**
在这里插入图片描述
创建好项目组地址,方便结构清晰
在这里插入图片描述

选择自己的项目路径,点击完成。
在这里插入图片描述

二、配置maven

创建对应的java项目,引入需要的mybatis需要的jar,以及连接数据库的jar包(我用的数据库为mysql)

<?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.file</groupId>
    <artifactId>MyBatisTest</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <!-- 测试包 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!-- mybatis核心包 -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
        <!-- mysql驱动包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.10</version>
        </dependency>
    </dependencies>


</project>

在这里插入图片描述

三、创建数据库

创建简单的小型测试类数据库
在这里插入图片描述

四、创建实体类与接口

1、在项目中src–>main–>java目录下创建包以及测试类
在这里插入图片描述

package com.Test;

public class User {
    public Integer id;

    public String name;
    public String password;

    public User() {
        super();
    }

    public User(Integer id,String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer 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 + '\'' + '}';
    }
}



2、在包下新建一个接口(UserMapper)
在这里插入图片描述

package com.Test;

import java.util.List;

public interface UserMapper {


        //查询所有信息
        public List<User> queryAll();

        //添加
        public void addUser(User user);

        //修改
        public boolean updateUser(User user);

        //根据id删除信息
        public void deleteUserById(int id);
    }

五、配置文件

1、在resources新建一个properties文件

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://127.0.0.1:3306/db_test?characterEncoding=UTF-8
jdbc.username = root
jdbc.password =123456

在这里插入图片描述

2、在resources新建一个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>
    <!--
        mybatis可以使用properties来引入外部properties配置文件的内容
        resource:引入类路径下的资源
     -->
    <properties resource="db.properties"></properties>

    <!-- environments:环境,mybatis可以设置多种环境;default指定使用某种环境,可以达到快速切换环境
             environment:配置一个具体的环境信息;必须有两个标签;id代表当前环境的唯一标识
                  type:事务管理器的类型;JDBC(JdbcTransactionFactory)MANAGED(ManagedTransactionFactory)
                       自定义事务管理器:实现TransactionFactory接口,type指定为全类名
              dataSource:数据源
                   type:数据源UNPOOLED(UnpooledDataSourceFactory)
                               POOLED(PooledDataSourceFactory)
                               JNDI(JndiDataSourceFactory)
                               自定义数据源:实现DataSourceFactory接口,type是全类名
     -->
    <environments default="db_test">
        <environment id="db_test">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">

                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

    <!-- databaseIdProvider:支持多数据库厂商的;
                type="DB_VENDOR":VendorDatabaseIdProvider
                    作用就是得到数据库厂商的标识(驱动getDatabaseIDProductName()),mybatis就能根据数据库厂商标识来执行不同的sql;
     -->
    <databaseIdProvider type="DB_VENDOR">
        <property name="MySQL" value="mysql"/>
    </databaseIdProvider>

    <mappers>
        <mapper resource="UserMapper.xml"/>  <!-- sql映射文件路径 -->
    </mappers>
</configuration>




3、配置SQL映射文件, 在resources新建一个xml文件(UserMapper.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="com.Test.UserMapper">
    <!--
        namespace :名称空间;指定接口的全类名
        id:唯一标识(建议用接口中对应的方法名命名)
        resultType:返回值类型
    -->
    <select id="queryAll" resultType="com.Test.User">
        select * from tb_user
    </select>
    <!--
          自增主键值的获取,mybatis也是利用statement.getGeneratedKeys();
          useGeneratedKeys="true";使用自增获取主键值策略
          keyProperty:指定对应的主键值,也就是mybatis获取到主键值以后,将这个值封装给javaBean的哪个属性
    -->
    <insert id="addUser" useGeneratedKeys="true" keyProperty="id">
        insert into tb_user(name,password) values(#{name},#{password})
    </insert>
    <!-- 根据name修改password的值 -->
    <update id="updateUser">
        update tb_user set password=#{password} where name=#{name}
    </update>
    <delete id="deleteUserById">
        delete from tb_user where id=#{id}
    </delete>
</mapper>



六、测试

在 src / test / java 下新建一个类(Test)
1、测试添加

import com.Test.User;
import com.Test.UserMapper;
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.IOException;
import java.io.InputStream;
import java.util.List;

public class Test {
    public SqlSessionFactory getSqlSessionFactory() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        return  new SqlSessionFactoryBuilder().build(inputStream);
    }

    @org.junit.Test
    public void demo() throws IOException {
        SqlSessionFactory sessionFactory = getSqlSessionFactory();
        SqlSession openSession = sessionFactory.openSession();
        try {
            UserMapper mapper = openSession.getMapper(UserMapper.class);
            User user = new User(null, "樊", "123456");
            mapper.addUser(user);
            System.out.println(user);
            openSession.commit();  //执行增删改是需手动提交数据
        } finally {
            openSession.close();
        }
    }
}

在这里插入图片描述2、测试修改(在Test中try后修改即可)

UserMapper mapper = openSession.getMapper(UserMapper.class);
            User user = new User(null, "樊", "666");
            mapper.updateUser(user);
            openSession.commit();


在这里插入图片描述
3、测试查询

List<User> list = openSession.selectList("com.Test.UserMapper.queryAll");
            for (User user:list) {
                System.out.println(user);

在这里插入图片描述
4、测试删除

 UserMapper mapper = openSession.getMapper(UserMapper.class);
            mapper.deleteUserById(2);
            openSession.commit();  //执行增删改是需手动提交数据

在这里插入图片描述
如实现以上步骤即为成功!

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-09-13 09:28:08  更:2021-09-13 09:29:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:24:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码