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
…