关于Mybaties 的简单应用和 入门
来源:互联网 发布:淘宝网刷单 物流单号 编辑:程序博客网 时间:2024/06/11 16:22
今天是我第一次写博客,热爱的程序的我,开始学习三大框架的入门知识,希望我能每天都坚持下去,积小流成江河。
首先Mybaties框架是正对数据库的操作应用,
我需要准备的就是 mybaties的Jar包:mybatis-3.2.5.jar
Mybaties的主配置文件:SqlMapConfig.xml 一般默认放在SRC目录下就可以了
对应JavaBean的SQl 对应的文件 例如: EmpMapper.XML
1.先 一个获取SqlSession的类:
package org.com.tarena.util;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MBUtil {
public static SqlSession getSqlSession() {
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
String conf="SqlMapConfig.xml";
InputStream in=MBUtil.class.getClassLoader().getResourceAsStream(conf);
SqlSessionFactory ssf=ssfb.build(in);
SqlSession sqlsession=ssf.openSession();
return sqlsession;
}
}
2.执行操作语句
package org.com.tarena.test;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.com.tarena.bean.User;
import org.com.tarena.bean.UserMapper;
import org.com.tarena.util.MBUtil;
import org.junit.Test;
public class TestMyBaties {
// @Test
public void test1() {
SqlSession ss1 = MBUtil.getSqlSession();
SqlSession ss2 = MBUtil.getSqlSession();
System.out.println(ss1);
System.out.println(ss2);
ss1.close();
ss2.close();
}
// @Test
public void test11() {
User uu = new User();
uu.setName("张靓颖");
uu.setAddr("画心");
uu.setId("2015");
SqlSession ss = MBUtil.getSqlSession();
int x = ss.insert("save", uu);
System.out.println(x);
List<User> u1 = ss.selectList("findAll");
for (User ui : u1) {
System.out.println(ui);
}
System.out.println();
System.out.println();
// ss.delete("deleteById","001");
List<User> u = ss.selectList("findAll");
for (User ui : u) {
System.out.println(ui);
}
// System.out.println(u);
// ss.commit(true);
ss.close();
}
3. --最后通过session.getMapper(UserMapper.class);
动态生成一个实现类,通过该对象触发SQL操作.
@Test
public void test2() {
SqlSession sqlsession = MBUtil.getSqlSession();
UserMapper s = sqlsession.getMapper(UserMapper.class);
List<String> u=s.findAll();
System.out.println(u);
// System.out.println("uuu"+u);
}
}
4.完成对数据库的各种操作
注意:UserMapper.xml中配置的返回值类型,需要和getMapper调用的方法的返回值一样,不然报错,向上造型异常,在数据库查出数据的时候,如果查出数据的类型和sqlmapper里面定义的不一样,只会映射查出结果有的,没有的为空,如果查出的数据多余类定义的变量,则也只会映射类中有的,多的不映射,但都不报错。。如果返回的应该用类接受,,但写成一个变量,则会映射查出记录的第一个字段(默认)
对接口和类的理解又加深了
接口为映射过来的类只是提供了一个,调用名称和返回值,错误正确,在调用sql执行语句的时候才知道
其工作流程大致是:
MyBatis执行过如下:
--首先加载、解析配置文件
(SqlMapConfig.xml和SQL定义的SqlMap.xml)
--然后将SQL语句提取,封装成MappedStatement
--然后接收SQL参数,利用SqlSession执行SQL操作
根据id名字调用对应的MappedStatement对象,
根据规则设置SQL参数,发送到数据库执行
--如果是查询最后将结果集数据映射成Map,Enity对象返回
- 关于Mybaties 的简单应用和 入门
- mybaties入门
- 简单的 spring + springMVC + mybaties 框架搭建
- 关于js和div的简单应用
- 关于Javamail的配置和简单应用
- 关于docker部署的一个简单应用(入门级别)
- 关于后缀树的入门及简单应用
- mybaties的parameterType和resultMap的理解
- Mybaties初步学习-入门
- Mybaties入门详解
- 简单的eclipse应用jna入门和实例
- springboot 简单的整合mybaties实现web数据查询
- 关于MongoDb的简单入门
- 关于MongoDb的简单入门
- 关于浅拷贝和深拷贝的简单应用测试
- 关于日期选择器和时间选择器的简单应用
- 关于Spring Boot 的一些简单理解和应用
- 关于redis的一些简单理解和应用
- Epoll详解及源码分析
- OpenCV中特征点提取和匹配的通用方法
- pat 1072 Gas Station
- 南大软院大神养成计划--第四天JavaScript
- ubuntu常用软件包deb的安装与卸载
- 关于Mybaties 的简单应用和 入门
- Office 365 Service Communications API operations--Get Historical Status
- Kappa系数
- 设计模式之反射与配置文件
- 这个功能很简单,要做多久
- 核函数与支持向量机入门
- Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程
- IOS Runtime System
- 好像是对的--图片居中