你好,欢迎访问我的博客!登录
当前位置:首页 - javaee - 正文 求知成瘾,却无作品!

Mybatis手动初始化使用

2022-06-29javaee攻城狮100°c
A+ A-

不依赖其他框架,单纯的使用mybatis,手动初始化,并可操作数据库。

简单记录,以后备查。

Mybatis坐标:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.10</version>
</dependency>

resource下添加配置文件application.properties和mybatis-config.xml用于基础的配置.

application.properties内容:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mytest?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
jdbc.username=数据库用户名
jdbc.password=数据库密码

mybatis-config.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>
    <properties resource="application.properties"/>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <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="mapper/UserMapper.xml"/>
    </mappers>
</configuration>

创建UserMapper接口:

package com.atnoce.mybatis.mapper;

import com.atnoce.mybatis.pojo.User;

public interface UserMapper {
    User selectUserById(Long id);
    void insertUser(User user);
}

创建UserMapper.xml文件,创建的位置要跟mybatis-config.xml配置的mappers中的路径对应:

<?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.atnoce.mybatis.mapper.UserMapper">
    <select id="selectUserById" resultType="com.atnoce.mybatis.pojo.User">
        select  * from user where id=#{id}
    </select>
    <insert id="insertUser" parameterType="com.atnoce.mybatis.pojo.User">
        insert into user (name,age,email) values (#{name},#{age},#{email})
    </insert>
</mapper>

创建实体类:

package com.atnoce.mybatis.pojo;

public class User {
    private long id;
    private String name;
    private int age;
    private String email;

    //....此处省略get set,可用IDE自动生成也可用lombok
}

创建测试类:

package com.atnoce.mybatis;

import com.atnoce.mybatis.mapper.UserMapper;
import com.atnoce.mybatis.pojo.User;
import com.google.gson.Gson;
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.InputStream;

public class App {

    public static void main(String[] args) throws Exception{
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.selectUserById(1L);
        System.out.println(new Gson().toJson(user));

        User user1 = new User();
        user1.setAge(33);
        user1.setEmail("admin");
        user1.setName("ssss");
        mapper.insertUser(user1);
        //如果有修改数据,记得提交
        sqlSession.commit();
        
        //操作完数据库记得关闭
        sqlSession.close();
    }

}

项目结构截图:

QQ截图20220629170910.png


参考文章:MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis

参考文章:MyBaits: 不用MyBatis配置文件

标签:
推荐阅读

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。


  登录