首页 > 其他分享 >Mybatis基础使用

Mybatis基础使用

时间:2022-12-15 10:56:12浏览次数:41  
标签:jdbc student 使用 基础 mybatis Student org Mybatis import

Mybatis

Mybatis最简单的使用

目录结构

image-20221215104301746

数据库

Sql语句

-- auto-generated definition
create table student
(
    id           bigint      not null
        primary key,
    password     varchar(20) null,
    class_number int         null
);

数据

image-20221215103927862

Maven坐标

     <dependencies>
<!--        Mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.11</version>
        </dependency>
<!--        数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
<!--        工具类-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
    </dependencies>

实体类(Entity)

package cn.pickle.entity;

import lombok.Data;

/**
 * @author Pickle
 * @version V1.0
 * @date13:53 2022/12/14
 */
@Data
public class Student {
    private Long id;
    private String password;
    private Integer classNumber;
}

测试类

package cn.pickle;

import cn.pickle.entity.Student;
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.Reader;

/**
 * @author Pickle
 * @version V1.0
 * @date 2022/12/15 10:06
 */
public class Test {
    public static void main(String[] args){

        try {
            String resources = "mybatis-config.xml";

            Reader reader = Resources.getResourceAsReader(resources);

            final SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

            try(final SqlSession sqlSession = sqlSessionFactory.openSession()){
                final Student student = sqlSession.selectOne("selectStudent", 1);
                System.out.println("Student ID: " + student.getId());
                System.out.println("Student Password: " + student.getPassword());
                System.out.println("Student ClassNumber: " + student.getClassNumber());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

配置文件

config.properties

jdbc.password=root
jdbc.username=root
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_demo

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--    properties-->
    <properties resource="config.properties"/>

    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <typeAliases>
        <package name="cn.pickle.entity"/>
    </typeAliases>

<!--    typeHandler-->

<!--    objectFactory-->

<!--    <plugins>-->
<!--        <plugin interceptor=""></plugin>-->
<!--    </plugins>-->

    <environments default="develop">
        <environment id="develop">
            <transactionManager type="JDBC">
                <!-- 跳过关闭连接自动提交 -->
                <property name="skipSetAutoCommitOnClose" value="true"/>
            </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>

    <mappers>
        <mapper resource="StudentMapper.xml"/>
    </mappers>

</configuration>

StudentMapper.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="cn.pickle.entity.Student">
    <select id="selectStudent" resultType="student">
        Select * from mybatis_demo.student where id = #{id};
    </select>
</mapper>

测试结果

image-20221215104517135

标签:jdbc,student,使用,基础,mybatis,Student,org,Mybatis,import
From: https://www.cnblogs.com/poteitoutou/p/16984475.html

相关文章

  • 如何快速从使用Eclipse转用IDEA
    ​​https://www.toutiao.com/i6515289836159500804/#6649976-tsina-1-44054-4471e2b057b5019ad452c722f04bba39​​1.先来看快捷键上的异同:2.其他常用快捷键:ALT+回车:错误自......
  • win10 系统中 如何在 Virtualenv 中使用 idle
    1,下载安装Virtualenv pipinstallvirtualenv2,创建虚拟环境进入要创建的目录后,创建虚拟环境的文件夹,进入文件夹,创建虚拟环境C:\Users\DP\Documents\pyWork......
  • golang的module管理与使用go mod
    #############################  更换或升级了golang后,需要删除go.mod、go.sum、vendor文件,然后重建,不然一直卡在那里      使用: Gomodules操作命令及相关文件解......
  • PhpSpreadsheet 使用总结
    读取文件1$spreadsheet=IOFactory::createReader('Csv')//传文件类型首字母大写->setReadDataOnly(true)//设置为只读取数据->setReadEmptyCells(false)//不......
  • 正确使用集合
    集合总体上分为线性集合和非线性集合。线性集合具有直接前驱和直接后驱;而非线性集合可能有多个后驱或者前驱。线性集合按存储方式又分为:直接存储和顺序存储。......
  • mybatis-plus-join mybatis-plus必备神器
    mybatis-plus-join项目地址giteegithub使用方法安装Maven<dependency><groupId>com.github.yulichang</groupId><artifactId>mybatis-plus-join-boot-sta......
  • 在Python里使用ChatGPT
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • python中使用numpy模块画函数图像
    由于比较简单,只靠代码的注释就差不多了:1#导入需要的库importnumpyasnp2importmatplotlib.pyplotasplt34#定义变量和函数x=np.arange(-100,100,......
  • 前端开发系列064-网络篇之FormData基本使用
    title:前端开发系列064-网络篇之FormData基本使用tags:categories:[]date:2018-04-1009:31:25FormData简单介绍FormData是Ajax2.0-XMLHttpRequestLevel2提......
  • 前端开发系列059-网络篇之网络基础知识和HTTP协议
    title:'前端开发系列059-网络篇之网络基础知识和HTTP协议'tags:categories:[]date:2018-02-1717:05:29一、网络编程基本概念1.1客户端和服务器的基本概念客户......