myBatis简单使用,增删改查
来源:互联网 发布:电视直播回看软件 编辑:程序博客网 时间:2024/06/06 15:03
MyBatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
MYBATIS 的着力点,则在于POJO 与SQL之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。 相对Hibernate“O/R”而言,MYBATIS 是一种“Sql Mapping”的ORM实现。
Mybatis是流行的持久层开发框架,它相对比hibernate(也是持久层开发框架)比较简单
我面试过很多刚从培训机构出来的小伙,基本上都是培训个两三个月就出来找工作的,基本也就培训 struts 2+Spring+hibernate的吧,Mybatis如果你说你会的,会加分,所以如果你看到这篇文章,请好好的阅读一下
Mybatis可以分成三层:
(1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理。
(2)数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等。它主要的目的是根据调用的请求完成一次数据库操作。
(3)基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件。为上层的数据处理层提供最基础的支撑。
好了,就说到这里,下面就直接拿出来做一个,增删改查的小demopackage com.zkb.entity;public class User {private int id;private String username;private String password;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}package com.zkb.dao;import java.util.List;import com.zkb.entity.User;public interface UserDao { public User selectUserByID(int id); public List insert into userinfo values(null,#{username},#{password}) update userinfo set username=#{username},password=#{password} where id=#{id} delete from userinfo where id=#{id} selectUsers(String username); public void addUser(User user); public void updateUser(User user); public void delUser(User user);}package com.zkb.test;import java.io.Reader;import java.util.List;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 com.zkb.dao.UserDao;import com.zkb.entity.User;public class Test {private static SqlSessionFactory sqlSessionFactory; private static Reader reader; static{ try{ reader = Resources.getResourceAsReader("Configuration.xml"); sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); }catch(Exception e){ e.printStackTrace(); } }public static void main(String[] args) {SqlSession session = sqlSessionFactory.openSession(); try { UserDao userOperation=session.getMapper(UserDao.class); //查询 List users = userOperation.selectUsers("%a%"); for (User user : users) {System.out.println(user.getUsername()+"\t"+user.getPassword());} //添加,这里id要设置为自动增长列// User userAdd=new User();// userAdd.setUsername("45646");// userAdd.setPassword("123");// userOperation.addUser(userAdd);// session.commit(); //修改// User userUp=userOperation.selectUserByID(5);// userUp.setUsername("abcd");// userUp.setPassword("efg");// userOperation.updateUser(userUp);// session.commit(); //删除 User userDel=userOperation.selectUserByID(5); userOperation.delUser(userDel); session.commit(); } finally { session.close(); }}} SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `userinfo`-- ----------------------------DROP TABLE IF EXISTS `userinfo`;CREATE TABLE `userinfo` ( `id` int(8) NOT NULL auto_increment, `username` varchar(20) NOT NULL, `password` varchar(20) default NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1;-- ------------------------------ Records of userinfo-- ----------------------------INSERT INTO `userinfo` VALUES ('1', 'admin', 'admin');INSERT INTO `userinfo` VALUES ('2', 'user', 'user');INSERT INTO `userinfo` VALUES ('3', 'pass', 'pass');
阅读全文
1 0
- mybatis 使用简单的增删查改
- myBatis简单使用,增删改查
- Mybatis - 简单使用Mybatis 实现 增删改查
- Mybatis使用之简单的增删改查
- mybatis简单的增删改查
- Mybatis简单增删改查操作
- mybatis-简单的增删改查操作
- mybatis简单测试增删改查
- mybatis-简单的增删改查操作
- MyBatis框架实现简单增删改查
- Mybatis实现简单的增删改查
- Mybatis(入门)简单的增删改查
- Mybatis--使用xml进行增删改查
- MyBatis使用注解实现增删改查
- Mybatis 增删改查
- mybatis增删改查
- mybatis增删改查
- mybatis 增删改查
- Spring MVC 以.html为后缀名访问获取数据,报406 Not Acceptable错误。
- Javascript中的对象和原型
- QT 自定义窗口形状的图片查看器
- c++ vector resize & reserve
- git操作命令
- myBatis简单使用,增删改查
- leetcode 200. Number of Islands
- Kanade's trio
- Caffe学习:pycaffe接口配置
- js innerHTML用法及错误:无法设置未定义或null引用的属性“innerHTML”解决
- 怎么获得apk的包名和启动Activity
- Visual DOM && diff算法实现
- 一台服务器安装运行多个Tomcat及注册服务
- <meta>标签