Mybaits简诉
先组织一下语言!Mybatis是一个框架,一个数据持久化的框架,作用就是SQL语句的映射!减少了JDBC繁琐的数据操作与类型转换!简而言之,就是方便、轻巧!什么是持久化,持久,恩,JDBC就是一个数据持久化的过程!
言归正传吧!写一下Mybatis环境搭建的步骤:
1.创建Java web项目
2.加入架包
2.1数据库驱动包
2.2 mybatis包
2.3 log4j日志包(可选,如果你要记录日志的话就加)
2.4加入Junit4包(测试)
3.创建持久化类(POJO)与SQL映射文件,POJO就如同我们的实体类,封装属性,提供外部方法
4.创建mybatis配置文件(mybatis-config.xml)
5.创建MybatisUtil工具类
6.测试

创建持久化类:
package pojo;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
创建接口:
package dao;
public interface UserMapper {
int count();//记录总行数
}
创建SLQ映射文件:
<?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="dao.UserMapper">
<!--映射实体与表-->
<!--type表示实体的全路径名
id为实体与表的映射取一个唯一的编号-->
<resultMap id="studentMap" type="app04.Student">
<!--id标签映射主键属性,result标签映射非主键属性
property表示实体的属性名
column表示表的字段名-->
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="sal" column="sal"/>
</resultMap>
<select id="count" resultType="int">
select count(*) from people
</select>
</mapper>
创建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>
<!-- 加载文件 -->
<properties resource="jdbc.properties"/>
<!-- 设置别名,配置文件能够在指定位置找到持久化类 -->
<typeAliases>
<package name="pojo"/>
</typeAliases>
<!--设置默认连接环境信息-->
<environments default="mysqlInfo">
<!--连接环境信息,取一个唯一的名字-->
<environment id="mysqlInfo">
<!--事务管理方式-->
<transactionManager type="JDBC"></transactionManager>
<!--使用连接池获取-->
<dataSource type="POOLED">
<!--配置与数据库交互的4个必要属性-->
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 加载映射文件到配置文件中 -->
<mappers>
<mapper resource="dao/UserMapper.xml" />
</mappers>
</configuration>
创建工具类MybatisUtil:
package util;
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;
public class MybatisUtil {
private static SqlSessionFactory factory;
static{//代码只会执行一次在静态代码块中
try {
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
factory = new SqlSessionFactoryBuilder().build(is);
} catch (Exception e) {
e.printStackTrace();
}
}
//创建sqlSession
public static SqlSession createSqlSession(){
return factory.openSession(false);//true为自动提交事务
}
//关闭SqlSession
public static void closeSqlSession(SqlSession sqlSession){
if(null != sqlSession){
sqlSession.close();
}
}
}
编写测试类:
package test;
import static org.junit.Assert.*;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import dao.UserMapper;
import util.MybatisUtil;
public class userTest {
@Test
public void test() {
SqlSession sqlSession = null;
int count = 0;
System.out.println(count);
try {
sqlSession = MybatisUtil.createSqlSession();
count = sqlSession.getMapper(UserMapper.class).count();
System.out.println(count);
} catch (Exception e) {
e.printStackTrace();
}finally{
MybatisUtil.closeSqlSession(sqlSession);
}
}
}
学海无涯!苦渡而已!
Mybaits简诉的更多相关文章
- Android -- Apk安装简诉
安装涉及到如下几个目录 system/app 系统自带的应用程序,无法删除 data/app 用户程序安装的目录,有删除权限. 安装时把apk文件复制到此目录 data/data 存放 ...
- Struts2简诉
Struts2框架是基于MVC模式的开源,MVC模式是一种开发方式,主要作用是对组件之间进行隔离,M代表业务逻辑层,V代表视图层,C代表控制层.有利于代码的后期维:Struts2框架的源码主要来于We ...
- Jquery与DOM对象
在第一次学习jquery中,常常会不能分辨DOM对象和Jquery对象,下面我们就简诉一下它们之间的关系和区别 1.DOM对象(Document Object Model) 文档对象模型,每一份DOM ...
- magento安装wordpress
说起来事实上很easy,如今简诉一下安装过程 1.到magento connect界面安装magento扩展,地址:http://www.magentocommerce.com/magento-con ...
- C#高级特性(反射)
今天来讲解反射的应用: 一.反射是什么? 简诉一下,反射就是.Net Framework 的一个帮助类库,可以获取并使用metadata(元数据清单):说的通俗易懂点,就是不用通过引用,仍然可以使用其 ...
- js 简繁体字转换
有些项目需要用到简体和繁体两种字体,在js前台进行转换比较方便而且显示速度没有延时 是一个比较好的解决方案. var _isFT_CS = 0// 简体 var _isFT_CT = 1// 繁体 v ...
- SQL简繁转换函数
declare @jall nvarchar(4000),@fall nvarchar(4000) select @jall=N'啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊 ...
- 利用js轻松实现页面简繁体转换
使用方法:StranBody(); //转换对象,使用递归,逐层剥到文本 function StranBody(fobj) { if(typeof(fobj)=="object") ...
- javascript 简繁转换
js 简繁转换 function copy(ob) { var obj=findObj(ob); if (obj) { obj.select();js=obj.createTextRange();js ...
随机推荐
- node.js零基础详细教程(4):node.js事件机制、node异步IO操作
第四章 建议学习时间3小时 课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑. ...
- Thrift生成的bean对象,用java内省操作时注意(自己笔记)
项目需要,需要使用内省操作,将数据写入thrift生成的bean里,于是按常理getWritedMethod.invoke 结果发现set方法找不到,结果看了下thrift自己生成的bean里,set ...
- Javascript实现Base64解码
工作中需要用到,在stackoverflow中找到的,实践证明可用. function decode_base64(s) { var e = {}, i, k, v = [], r = '', w = ...
- 通过PHP前端后台交互/通过ajax前端后台交互/php基础传输数据应用/简单的留言版/简单的注册账户/简单的登录页/
前 言 PHP 通过上一篇博客,注册账号与登录页面--前后台数据交互 跳转转到index主页,接下来进入主页留言板功能,通过ajax向后台传输数据,同时发表留言. 具体的内容分析如下 ...
- 如何运行jar文件
比如我要执行G:/weblogic文件夹下面的wls1036_generic.jar 文件. 1.cmd 2.跳转到G盘(G:回车),如果jar文件在桌面上,运行cd desktop进入桌面再定位到文 ...
- 常用DOM API
Node Node是一个接口,中文叫节点,很多类型的DOM元素都是继承于它,都共享着相同的基本属性和方法.常见的Node有 element,text,attribute,comment,documen ...
- RabbitMQ~开篇与环境部署
想写这篇文章很久了,今天终于有时间总结一下,一个大型的系统里,消息中间件是必不可少的,它将并发环境处理的数据异步进行处理,有效的提高了系统的并发能力,有很多系统的瓶颈点都在于此,而消息中间件在这个时候 ...
- SevenZipSharp的入门教程(包含如何加密压缩,解密压缩)
(一)为什么选择7z 7z 是一种主流高效的压缩格式,它拥有极高的压缩比.在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式.该格式最初被7-Zip实现并采 ...
- Mac QQ 怎么清除聊天记录
在 Mac 电脑上登录 QQ 以后,点击顶部菜单中“应用”下的“消息管理器”选项,如图所示
- 鼠标滚轮图片放大缩小功能,使用layer弹框后不起作用
今天在项目中遇到的一个问题:点击按钮使用layer弹框弹出一张图片,需要加一个鼠标滚轮放大缩小,图片也跟着放大缩小的功能.于是在网上找了一个demo. DEMO: <!DOCTYPE html ...