MyBatis初识
来源:互联网 发布:js实现日期时间 编辑:程序博客网 时间:2024/06/05 03:24
什么是MylBatis?
mybatis是一个持久层框架
持久化:
数据从瞬时状态变为持久状态
持久层:
完成持久化工作的代码块
MyBatis就是帮助程序员将数据存入数据库,和从数据库中取数据
传统的JDBC操作:
有很多重复代码块,比如:数据取出封装,数据库建立连接等,通过框架减少代码重复,提高开发效率
MyBatis是一个半自动的ORM(对象关系映射)框架
所需jar
asm-4.2.jar
cglib-3.1.jar
commons-logging-1.2.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
log4j-api-2.2.jar
log4j-core-2.2.jar
mysql-connector-java-5.1.20-bin.jar
slf4j-api-1.7.12.jar
slf4j-log4j12-1.7.12.jar
cglib-3.1.jar
commons-logging-1.2.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
log4j-api-2.2.jar
log4j-core-2.2.jar
mysql-connector-java-5.1.20-bin.jar
slf4j-api-1.7.12.jar
slf4j-log4j12-1.7.12.jar
简单案例:
创建实体类User bean:
package entity;public class User {private int id;private String name;private String pwd;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;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}}
编写sql语句的映射文件 :
<?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="entity.userMapper"><select id="selectUser" resultType="entity.User">select * from user where id=#{id}</select><insert id="addUser">insert into user(name,pwd) values(#{name},#{pwd});</insert></mapper>
持久层:
package dao;import org.apache.ibatis.session.SqlSession;import util.MyBatisUtil;import entity.User;public class UserDao {public User getById(int id) throws Exception{SqlSession session =MyBatisUtil.getSession();User user=session.selectOne("entity.userMapper.selectUser",1);return user;}public int add(User user) throws Exception{SqlSession session =MyBatisUtil.getSession();int result=session.insert("entity.userMapper.addUser");session.close();return result;}}
MyBatis工具类(创建SqlSessionFactory类):
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;//创建sqlSessionFactory以及获得sqlSessionpublic class MyBatisUtil {public static SqlSessionFactory getSqlSessionFactory() throws Exception {String resource = "mybatis.cfg.xml";InputStream inputstream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputstream);return sqlsessionfactory;}public static SqlSession getSession() throws Exception {SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();return sqlSessionFactory.openSession();}}
Mybatis配置:
<?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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <mappers><mapper resource="entity/userMapper.xml"/></mappers> </configuration>
测试类:
package test;import org.apache.ibatis.session.SqlSession;import entity.User;import util.MyBatisUtil;public class test {public static void main(String[] args) throws Exception {SqlSession session =MyBatisUtil.getSession();User user=session.selectOne("entity.userMapper.selectUser",1);
//select("包名.sqlID名称",参数)System.out.println("id"+user.getId()+",name="+user.getName());session.close();}}
0 0
- 初识mybatis
- 初识Mybatis
- 初识MyBatis
- 初识MyBatis
- 初识Mybatis
- 初识mybatis
- Mybatis初识
- Mybatis初识
- 初识MyBatis
- 初识MyBatis
- 初识MyBatis
- 初识Mybatis
- Mybatis初识
- 初识mybatis
- 初识mybatis
- MyBatis初识
- 初识MyBatis
- MyBatis初识
- hdoj1241Oil Deposits
- ffmpeg源码简析(二)av_register_all(),avcodec_register_all()
- 深入理解mysqldump参数 --single-transaction --lock-all-tables
- 利用FRIDA攻击Android应用程序(一)
- git 设置别名
- MyBatis初识
- jmeter脚本录制
- C++学习——虚继承中半菱形继承
- AppCompatActivity和Activity的区别
- ALV 简单实现HTML抬头的方法 (介绍 一)
- HTTP协议
- Git的使用
- SourceInsight快捷键集合
- jffs2文件系统的制作和移植