MyBatis快速入门_1
来源:互联网 发布:linux域控 编辑:程序博客网 时间:2024/05/02 04:43
一、MyBatis的前身是iBatis,本是Apache的一个开源的项目
MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
二、MyBatis是一个数据持久层(ORM)框架,把实体类和SQL语句之间建立了映射关系,是一种半自动化的ORM实现。
三、MyBatis小巧,简单易学
1)基于SQL语法,简单易学
2)能了解底层组装过程
3)SQL语句封装在配置文件中,便于统一管理与维护,降低了程序的耦合度
4)程序调试方便
四、MyBatis是开发的步骤
2.1、准备开发环境
1、创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示:
2、添加相应的jar包
【mybatis】
mybatis-3.2.2.jar
【Oracle驱动包】
ojdbc6.jar
3、数据表数据如下:
2.2、使用MyBatis查询表中的数据
1、在src下添加Mybatis的配置文件mybatis-conf.xml,jdbc.properites,log4j.properties
如图所示
jdbc.properties
driver=oracle.jdbc.driver.OracleDriverurl=jdbc:oracle:thin:@localhost:1521:HLXusername=scottpassword=hsx
mybatis-conf.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 引入 jdbc.properties 文件 --><properties resource="jdbc.properties" /><environments default="development"><environment id="development"><!--配置事务管理,采用JDBC的事务管理 --><transactionManager type="JDBC" /><!-- 配置数据库连接信息 --><!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 --><dataSource type="POOLED"><property name="driver" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /></dataSource></environment></environments><!-- 将mapper文件加入到配置文件中 --></configuration>
2、定义表所对应的实体类,
package com.hlx.pojo;/** * POJO plain old java objects ( 普通的Java对象) * @author Administrator * */public class Userinfos {//ctrl+shift+Y lower//ctrl+shift+X upperprivate int id; private String uname; private String upass;public int getId() {return id;}public void setId(int id) {this.id = id;}public Userinfos() {super();}public Userinfos(int id, String uname, String upass) {super();this.id = id;this.uname = uname;this.upass = upass;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpass() {return upass;}public void setUpass(String upass) {this.upass = upass;}@Overridepublic String toString() {return "Userinfos [id=" + id + ", uname=" + uname + ", upass=" + upass+ "]";}}
3、定义操作userinfos表的sql映射文件UserinfosMapper.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 例如namespace="com.hlx.dao.UserinfosMapper"就是com.hlx.dao(包名)+UserinfosMapper(UserinfosMapper.xml文件去除后缀) --><mapper namespace="com.hlx.dao.UserinfosMapper"> <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUserinfo,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型 resultType="com.hlx.pojo.Userinfos"就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 --> <!-- 根据id查询得到一个userinfos对象 --> <select id="getUserinfo" parameterType="int" resultType="com.hlx.pojo.Userinfos"> select * from userinfos where id=#{id} </select></mapper>
4、在mybatis-conf.xml文件中注册UserinfosMapper.xml文件
<!-- 将mapper文件加入到配置文件中 --><mappers> <mapper resource="com/hlx/dao/UserinfosMapper.xml"/> </mappers>
5、测试代码:执行定义的select语句
package com.hlx.test;import java.io.InputStream;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 org.apache.log4j.Logger;import org.junit.Test;import com.hlx.pojo.Userinfos;/** * 测试类 * @author Administrator * */public class UserinfoTest { //日志对象private Logger logger = Logger.getLogger(UserinfoTest.class);@Testpublic void findById() {// mybatis的配置文件String resources = "mybatis-config.xml";SqlSession session = null;try {// 1.使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)InputStream is = Resources.getResourceAsStream(resources);// 2 创建sqlSessionFactory对象(完成对配置文件的读取)SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);// 3 创建sqlSessionsession = factory.openSession();// 4 调用mapper文件来进行数据操作(调用之前,mapper文件需要先加入mybatis-config.xml配置文件中)/** * 映射sql的标识字符串, com.hlx.dao.UserinfosMapper是userinfosMapper. * xml文件中mapper标签的namespace属性的值, * getUserinfo是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL */String statementString = "com.hlx.dao.UserinfosMapper.getUserinfo";// 执行查询返回一个唯一user对象的sqlUserinfos userinfos = session.selectOne(statementString,3);logger.debug("查询数据为:");System.out.println(userinfos);} catch (Exception e) {// TODO: handle exceptione.printStackTrace();} finally {session.close(); // 关闭}}}执行结果如下:
0 0
- MyBatis快速入门_1
- Smarty快速入门_1
- C++ Primer 笔记_1 快速入门
- 关卡设计快速入门_1. 创建新项目
- MyBatis-----1、MyBatis快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- MyBatis快速入门经典
- mybatis快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- Mybatis快速入门指南
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- MyBatis-快速入门
- MyBatis快速入门
- MyBatis --快速入门
- HDU 1078 FatMouse and Cheese
- Square
- bootstrap学习笔记-导航和导航条
- 指针形参
- CrackingtheCodeInterview之递归和动态规划
- MyBatis快速入门_1
- 大小和尺寸的概念
- Android Studio实现代码混淆
- Linux gcc编译器常用命令和使用
- Undefined symbols for architecture i386或者armv7: “_OBJC_CLASS_$_XXX
- 如何将mysql数据库的表导出到本地csv格式
- androidstudio git项目到github出现的错误解决办法
- Part8:定制new和delete
- Redis学习三:redis的sentinel使用