MyBatis配置

本文介绍了MyBatis的配置步骤,包括databases.properties文件的设置、mybatis-config.xml的内容以及MybatisUtils.java的实用方法。示例展示了如何进行数据库操作,如删除地址,并推荐了MybatisX插件辅助开发,该插件能自动生成Mapper.xml和方法。此外,还提供了MyBatis学习资源。
摘要由CSDN通过智能技术生成

MyBatis配置

所需要的架包
下载架包提取码: ydv5
在这里插入图片描述

databases.properties

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username=root
password=root

#driver=com.mysql.cj.jdbc.Driver
#url=jdbc:mysql://本机地址:端口/数据库名称?时区
#username=MySql用户名
#password=MySql用户密码

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="database.properties"></properties>

    <settings>
        <!--驼峰命名转换-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <!--嵌套映射-->
        <setting name="autoMappingBehavior" value="FULL"/>
    </settings>

    <typeAliases>
        <!-- 输入实体类包名 -->
        <!-- <package name="cn.demo.entity"/> -->
    </typeAliases>

    <!--测试环境-->
    <environments default="development">
<!--    <environments default="选择测试环境 environment的id">-->

        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>

        <!--可以添加多个测试环境-->

<!--        <environment id="test">-->
<!--            <transactionManager type="JDBC"/>-->
<!--            <dataSource type="POOLED">-->
<!--                <property name="driver" value="jdbc.driver=com.mysql.cj.jdbc.Driver"/>-->
<!--                <property name="url" value="jdbc:mysql://localhost:3306/test_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"/>-->
<!--                <property name="username" value="test"/>-->
<!--                <property name="password" value="123456"/>-->
<!--            </dataSource>-->
<!--        </environment>-->

    </environments>

    <mappers>
        <!--根据包名  接口名要和Mapper.xml名称一致-->
        <!-- <package name="cn/demo/dao"/> -->

        <!--根据路径-->
        <!-- <mapper resource="cn/demo/dao/DemoMapper.xml"></mapper> -->
    </mappers>

</configuration>

MybatisUtils.java

package com.cvs.utils;

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;

/**
 * 加载配置文件
 */
public class MybatisUtils {

    /**
     * 使用静态代码块构建工厂
     */
    private static SqlSessionFactory factory = null;

    static {
        InputStream is = null;
        try{
            is = Resources.getResourceAsStream("mybatis-config.xml");
            //构建工厂
            factory = new SqlSessionFactoryBuilder().build(is);
        }catch(Exception e){
            e.printStackTrace();
        }  finally {
            if(is!=null){
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
     }

    /**
     * 获取
     * @param autoCommit
     * @return
     */
     public static SqlSession openSession(boolean autoCommit){
        SqlSession session = factory.openSession(autoCommit);
        return session;
     }

    /**
     * 关闭
     * @param session
     */
     public static void closeSession(SqlSession session){
        if(session!=null){
            session.close();
        }
     }
}

示例(test)
删除地址

    /**
     * 删除地址
     */
    @Test
    public void testDeleteAddress(){
        SqlSession session = null;
        try{
            //autoCommit==false ---> 开启事务 / true--->关闭事务
            session = MybatisUtils.openSession(false);
            TAddressMapper tAddressMapper = session.getMapper(TAddressMapper.class);
            int num = tAddressMapper.deleteAddress(1);
            //提交事务
            session.commit();
        }catch (Exception e){
            e.printStackTrace();
            //出现异常,回滚事务
            session.rollback();
        }finally {
            MybatisUtils.closeSession(session);
        }
    }

推荐一个Mybatis的插件
MybatisX
在这里插入图片描述
在这里插入图片描述
鼠标点击接口名,Alt+enter(回车)
在这里插入图片描述
选择第二个,自动生成对应的Mapper.xml

在这里插入图片描述
在这里插入图片描述
点击接口中的方法,Alt+enter(回车),选择第一个,自动在Mapper.xml中生成对应的方法
在这里插入图片描述
接口中的方法名是以
add或者insert开头的将自动生成insert方法
del开头----->delete方法
modify开头或者update------>update方法
select或者get开头----->select方法
如果识别不出来也可以手动选择
在这里插入图片描述
Mybatis学习网站
mybatis
MyBatis中文官网
小白教程
w3cschool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值