什么是 MyBatis ?
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO(Plain Old Java Objects,普通的Java 对象)映射成数据库中的记录。

MyBatis环境搭建的详细步骤~
1、java项目
2、导入MyBatis的依赖jar包
- mybatis-3.2.7.jar
- classes12.jar
- mysql-connector-java-5.1.46-bin.jar
3、在src下创建sqlMapConfig.xml 全局配置文件,配置数据源、事务等mybatis运行环境
<?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>
<!-- 环境配置 -->
<environments default="development">
<!-- 环境一 -->
<environment id="development">
<!-- 事务管理 :JDBC、MANAGED(托管)-->
<transactionManager type="JDBC"/>
<!-- 数据源:POOLED、UNPOOLED、JNDI -->
<dataSource type="POOLED">
<property name="driver" value="${driverClassName}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件路径 -->
<mappers>
<mapper resource="com/neuedu/dao/EmpMapper.xml"/>
</mappers>
</configuration>
4、创建EmpMapper.xml映射文件,配置增、删、改、查的SQL语句。
<?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="test">
<select id="selectEmpByEmpno" parameterType="int" resultType="emp">
select * from emp where empno = #{empno}
</select>
<!--定义其他增、删、改语句-->
</mapper>
5、创建SqlSessionFactory,根据全局配置文件创建工厂
6、创建SqlSession,是一个接口,执行数据库操作
7、释放资源
数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据
APP 中接收数据代码:
public static void main(String[] args) {
SqlSession session = null;
try {
//1. 加载sqlMapConfig.xml,获取SqlSessionFactory接口对象
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("sqlMapConfig.xml"));
//2.获取SqlSession
session = factory.openSession();
//3.执行查询 参数一:执行的sql语句的id 参数二:执行sql语句传的参数
Emp emp = (Emp)session.selectOne("selectEmpByEmpno", empno);
//int result = session.insert("insertEmp", emp);
//int result = session.update("updateEmp", emp);
//int result = session.delete("deleteEmpByEmpno", empno);
//3.1------------------------------增删改需要手动提交或回滚事务
//session.commit();
//4.输出结果
System.out.println(emp);
} catch (IOException e) {
e.printStackTrace();
} finally{
//5.关闭连接
session.close();
}
}
一键三连谢谢老板~
版权声明:本文为weixin_43182477原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。