笔记(一)——MyBatis框架的基本应用
来源:互联网 发布:应用市场windows phone 编辑:程序博客网 时间:2024/05/01 12:59
1.在使用MyBatis开发包时,修改SqlMapConfig.xml文件来指定数据库的连接参数。
2.获取SqlSession对象
String conf="SqlMapConfig.xml"; Reader reader=Resources.getResourceAsReader(conf);
若上面这个在运行时出现异常,建议使用输入流的方式读取配置文件
InputStream reader=testEmp.class.getClassLoader().getResourceAsStream(conf);
创建SessionFactory对象
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();SqlSessionFactory factory=builder.builder(reader);
创建Session
SqlSession session=factory.openSession();
通过上面获取的SqlSession对象后,就可以利用它对数据表进行操作
a.根据数据库中的表编写实体类
b.编写SqlMapConfig.xml映射文件,然后加载sql定义文件
c.获取SqlSession对象,然后执行数据库操作,在执行数据库的增删改时必须要有提交事务的操–>session.commit()
d.关闭SqlSession对象 session.close();
在数据库操作配置文件里添加映射信息
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"><mapper namespace="empsql"> <!--查找表--> <select id="findAll" resultType="org.yang.entity.Emp"> select * from emp </select> <!--插入数据--> <insert id="save" parameterType="org.yang.entity.Emp"> insert into emp (name,salary,age) values (#{name},#{salary},#{age}) </insert></mapper>
由于创建SessionFactory对象和获取session程序有点冗杂,我就将其封装到一个类里,后面可以直接调用,在这个类里直接定义一个静态方法就行了
public class MyBatisUtil { public static SqlSession getSqlSession(){ String conf="SqlMapConfig.xml"; InputStream reader=mainEmp.class.getClassLoader().getResourceAsStream(conf); //创建sessionFactory对象 SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder(); SqlSessionFactory factory=builder.build(reader); //获取session SqlSession session=factory.openSession(); return session; }}
然后编写测试文件来测试数据库操作配置文件里的配置信息
public class mainEmp { public static void main(String[] args) { SqlSession session=MyBatisUtil.getSqlSession();//这块直接调用上面封装的获取session方法 //查询操作,这块使用的是List集合封装查询后的结果 List<Emp> list=session.selectList("findAll"); for(Emp e:list){ System.out.println(e.toString()); } //插入操作 Emp emp=new Emp(); emp.setName("王麻子"); emp.setSalary(8000.0); emp.setAge(30); session.insert("save",emp); //这里的操作必须要进行事务提交,要不运行过后数据表并没有插入到信息,数据表的增删改都需要提交事务 session.commit(); }}
1 0
- 笔记(一)——MyBatis框架的基本应用
- 学习笔记(OC)--Foundation框架的基本应用一
- MyBatis框架简介 、MyBatis基本应用
- MyBatis框架的学习(一)——MyBatis介绍
- 一、MyBatis框架的配置与基本使用
- Mybatis框架学习笔记一
- 框架不是框框—应用框架的基本思想
- 框架不是框框—应用框架的基本思想
- 框架不是框框—应用框架的基本思想
- Mybatis框架的手动搭建以及Mybatis的常用基本应用
- MyBatis框架核心之(一)基本使用
- MyBatis框架的基本使用
- MyBatis框架学习(一)——mbatis的介绍
- SPRINGMYBATIS01 Unit07:MyBatis框架简介 、 MyBatis基本应用
- VC学习笔记(一)——程序的应用框架和运行过程
- 【Mybatis】深入浅出Mybatis(二)——Mybatis的框架
- 为什么要用Mybatis框架---Mybatis学习笔记(一)
- Windows 8 Directx开发学习笔记(一)应用基本框架
- 对结构体数组进行冒泡排序(根据名字大小)
- python——time模块用法
- mapreduce中map是怎么做的?参数又是怎么解析传递给map方法的
- linux内核之系统启动(二)
- 死锁
- 笔记(一)——MyBatis框架的基本应用
- net.sf.hibernate.MappingException
- 生产者和消费者
- leetcode-Excel Sheet Column Number
- Java 并发核心编程
- net.sf.hibernate.PropertyNotFoundException
- C#学习之路,学习笔记 第八章 8.4重载
- Qt创建不重复随机数
- WPF程序