mybatis学习笔记(一)
2024-08-30 14:11:50
mybatis学习笔记
- mybatis简介
- Mybatis 开源免费框架.原名叫iBatis,2010在googlecode,2013年迁移到 github
- 作用: 数据访问层框架,底层对JDBC进行封装。
- mybatis的优点:使用mybatis时不需要编写实现类,只需要写需要执行得sql命令。
- 环境搭建
- 导入jar包,
- 在src下新建全局配置文件
- 没有名称和地址要求,例如mybatis.xml,引入DTD或者schema
<?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="default">
<environment id="default">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/bjm/mapper/PeopleMapper.xml"/>
</mappers>
</configuration>
- 没有名称和地址要求,例如mybatis.xml,引入DTD或者schema
- 然后新建以mapper结尾的包,在包下新建:实体类名(pojo)+Mapper.xml
- 文件作用:编写需要执行的SQL命令。
- 把 xml 文件理解成实现类
<?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.bjm.mapper">
<select id="selAll" resultType="com.bjm.pojo.People">
select * from people
</select>
</mapper> - 最后编写测试类
import java.io.IOException;
import java.io.InputStream;
import java.util.List; 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 com.bjm.pojo.People; public class Test {
public static void main(String[] args) throws IOException{
InputStream resourceAsStream = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//生产SqlSession
SqlSession session = factory.openSession();
List<People> selectList = session.selectList("com.bjm.mapper.selAll"); for (People people : selectList) {
System.out.println(people.toString());
}
session.close();
}
}
- 在src下新建全局配置文件
- 环境搭建详解
- 全局配置文件中标签<environments default="default">default取值是根据子标签<environment id="default">id的取值,通过取值选择mybatis加载哪一种数据库来连接,上面的例子是选择MySQL数据库。
<transactionManager type=/>属性可取值
- JDBC,事务管理使用 JDBC 原生事务管理方式;
- MANAGED 把事务管理转交给其他容器(例如spring)。原生 JDBC 事务setAutoMapping(false);
- <dataSource type="">属性可取值
- POOLED 使用数据库连接池;
- UNPOOLED 不实用数据库连接池,和直接使用 JDBC 一样;
- JNDI:java 命名目录接口技术.
最新文章
- oracle 存储过程 包 【转】
- ssh scp 复制文件和文件夹
- C# 匿名方法
- C#:IText构造PDF文件
- C# Java间进行RSA加密解密交互
- C++ BackColor_Dialog
- HAProxy 的负载均衡服务器,Redis 的缓存服务器
- Java反射_JDBC操作数据
- C和Lua之间的相互调用
- 译-HTTP-GET HTTP-POST SOAP protocol for ASP.NET services的异同
- 用GA算法设计22个地点之间最短旅程-R语言实现
- 关于mvc中传递匿名对象,view中无法解析
- 逆元知识普及(进阶篇) ——from Judge
- Kettle解决方案: 第五章 ETL相关知识
- ---mipi command
- 迅为开发板4412开发板-ANROID系统的烧写方法分享
- List<;String>; 和 ArrayList<;String>;的区别(转载)
- 浅谈Java代理二:Cglib动态代理-MethodInterceptor
- 通读Cheerio文档
- bzoj1639 / P2884 [USACO07MAR]每月的费用Monthly Expense
热门文章
- JAVA 从一个List里删除包含另一个List的数据
- kafka入门(三)备份
- restapi(0)- 平台数据维护,写在前面
- 网络下载器 迅雷大众版 v7.9.42.5050 精简绿色版
- 提高JavaScript 技能的12个概念
- Spring Boot微服务电商项目开发实战 --- 多环境部署配置、端口号统一配置及Dubbo提供者消费者实现
- 基于tcp协议的登录,文件上传和下载
- sql nvarchar类型和varchar类型存储中文字符长度
- 安科 OJ 1190 连接电脑 (并查集)
- Java之JDBC 通过加载properties配置文件连接数据库