装载核心配置文件–>引入配置资源文件–>连接数据库–>装载映射文件–>数据库操作
创建一个目录,resources—>F4—>Modules
resources –>new—>resource bundle—>jdbc
resources下创建mybatis-Config
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 引入配置的资源文件 -->
<properties resource="jdbc.properties"/>
<!-- 对事务的管理和连接池的配置 (连接数据库)-->
<!-- development:开发模式 work : 工作模式 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${name}"/>
<property name="password" value="${pass}"/>
</dataSource>
</environment>
</environments>
</configuration>
创建lib,引包.
点项目名 F4
resources下创建一个File
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="student">
insert into mybatis_student(id,name,age,sex) values('1','admin',11,'男')
</mapper>
<!--装载映射文件-->
<mappers>
<mapper resource="mapper/StudentMapper.xml"/>
</mappers>
动态数据查询时,创建封装的数据。
package com.javakc.mybatis.student.test;
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 MybatisTest {
public static void main(String[] args) throws IOException {
//读取mybatis核心配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
//根据文件构建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession(true);
sqlSession.insert("student.insert");
sqlSession.close();
}
}
StudentMapper.xml
<mapper namespace="student">
<insert id="insert">
insert into mybatis_student(id,name,age,sex) values("1","admin",11,"男")
</insert>
</mapper>
openSession为true则为自动提交,为false则需要写提交代码
测试完成:
新增:
修改:
删除:
#{里面的内容随便写},会自动把值传过来。
查询:
查询总条数:
数据只有一条时使用selectOne。
查询所有数据
分页查询:
配置输出日志的实现: