- 浏览: 447159 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (162)
- easymock (3)
- 模板引擎 (3)
- JForum (4)
- web (9)
- spring (10)
- java (20)
- struts (9)
- uml (3)
- java pattern (19)
- JQuery (14)
- 多线程 (13)
- database (21)
- PS (3)
- ejb (6)
- 版本管理 svn , maven , ant (2)
- protocol (1)
- 测试 (1)
- ws (7)
- Apache (4)
- 脚本语言 (1)
- guice (1)
- 分布式 (4)
- 架构 (0)
- 经验 (1)
- 版本管理 svn (1)
- maven (1)
- ant (1)
- 书籍 (1)
- Linux (1)
最新评论
-
Master-Gao:
稍微明白了点,,有点萌萌哒
为什么匿名内部类参数必须为final类型 -
waw0931:
终于明白了,谢谢!
为什么匿名内部类参数必须为final类型 -
十三圆桌骑士:
提供了两个链接还是有用的。
安装Mondrian -
放方芳:
[flash=200,200][/flash]
Freemarker标签使用 -
放方芳:
[b][/b]
Freemarker标签使用
今天刚听说iBATIS改名为MyBatis,实际上就是iBATIS 3.0.1。以前都是用hibernate或者JPA,同时听说iBATIS 3与iBATIS 2 相比,变化挺大的,于是今天花了点时间学习了一下,做了个小例子。
准备工作:建立相应的数据库,表,添加一条记录用于测试。
第一步当然是建立项目,导入jar包,导入mybatis-3.0.1.jar,和mysql的jdbc驱动。
第二步 新建一个类User,包含主键,用户名,密码等属性
- package cn.dcr.mybatis.entity;
- public class User {
- private Long id;
- private String userName;
- private String password;
- private int age;
- public Long getId() {
- return id;
- }
- public void setId(Long 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;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
package cn.dcr.mybatis.entity; public class User { private Long id; private String userName; private String password; private int age; public Long getId() { return id; } public void setId(Long 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; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
第三步,写sql映射的xml文件
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
- "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
- <mapper namespace="cn.dcr.mybatis.entity.UserMapper">
- <select id="selectOne" parameterType="long" resultType="cn.dcr.mybatis.entity.User">
- select * from user where id = #{id}
- </select>
- </mapper>
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <mapper namespace="cn.dcr.mybatis.entity.UserMapper"> <select id="selectOne" parameterType="long" resultType="cn.dcr.mybatis.entity.User"> select * from user where id = #{id} </select> </mapper>
第四步,写MyBatis配置文件,configuration.xml
- <?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>
- <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="cn/dcr/mybatis/entity/User.xml"/>
- </mappers>
- </configuration>
<?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> <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="cn/dcr/mybatis/entity/User.xml"/> </mappers> </configuration>
第五步,编写Util类,用于初始化SqlSessionFactory
- package cn.dcr.mybatis.util;
- import java.io.IOException;
- import java.io.Reader;
- import org.apache.ibatis.io.Resources;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.apache.ibatis.session.SqlSessionFactoryBuilder;
- public class Util {
- private static SqlSessionFactory sqlSessionFactory = null;
- static {
- String resource = "configuration.xml";
- Reader reader = null;
- try {
- reader = Resources.getResourceAsReader(resource);
- } catch (IOException e) {
- e.printStackTrace();
- }
- sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
- }
- public static SqlSessionFactory getSqlSessionFactory(){
- return sqlSessionFactory;
- }
- }
package cn.dcr.mybatis.util; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class Util { private static SqlSessionFactory sqlSessionFactory = null; static { String resource = "configuration.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resource); } catch (IOException e) { e.printStackTrace(); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } public static SqlSessionFactory getSqlSessionFactory(){ return sqlSessionFactory; } }
第六步,编写Dao类,用于封装增删改查等操作(为简单起见,这个类只有一个根据id查询出对应的User对象的方法)
- package cn.dcr.mybatis.dao;
- import org.apache.ibatis.session.SqlSession;
- import cn.dcr.mybatis.entity.User;
- import cn.dcr.mybatis.util.Util;
- public class UserDao {
- public User query(Long id){
- SqlSession session = Util.getSqlSessionFactory().openSession();
- User user = null;
- try{
- user = (User)session.selectOne("cn.dcr.mybatis.entity.UserMapper.selectOne", id);
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- session.close();
- }
- return user;
- }
- }
package cn.dcr.mybatis.dao; import org.apache.ibatis.session.SqlSession; import cn.dcr.mybatis.entity.User; import cn.dcr.mybatis.util.Util; public class UserDao { public User query(Long id){ SqlSession session = Util.getSqlSessionFactory().openSession(); User user = null; try{ user = (User)session.selectOne("cn.dcr.mybatis.entity.UserMapper.selectOne", id); }catch(Exception e){ e.printStackTrace(); }finally{ session.close(); } return user; } }
第七步,编写测试类
- package cn.dcr.mybatis.test;
- import cn.dcr.mybatis.dao.UserDao;
- import cn.dcr.mybatis.entity.User;
- public class UserTest {
- public static void main(String[] args){
- UserDao userDao = new UserDao();
- User user = userDao.query(1L);
- System.out.println(user.getId());
- System.out.println(user.getUserName());
- System.out.println(user.getPassword());
- System.out.println(user.getAge());
- }
- }
package cn.dcr.mybatis.test; import cn.dcr.mybatis.dao.UserDao; import cn.dcr.mybatis.entity.User; public class UserTest { public static void main(String[] args){ UserDao userDao = new UserDao(); User user = userDao.query(1L); System.out.println(user.getId()); System.out.println(user.getUserName()); System.out.println(user.getPassword()); System.out.println(user.getAge()); } }
运行一下,能够成功查询出对应的记录。
先到这,等有功夫在研究一下详细用法。
比较详细了,不上传源码了。
发表评论
-
安装Mondrian
2014-04-11 10:48 4654Mondrian and OLAP Mondrian i ... -
NoSql 笔记
2014-02-18 17:39 770看了一些关于NoSql的文 ... -
mysql explain用法
2014-02-14 11:53 943补充一点: id 就是 sql 语句中 select 出现 ... -
数据库范式概念解析(第一范式,第二范式,第三范式)
2013-02-26 10:17 1126大部分数据库从业人员 ... -
ORACLE数据库基础知识
2013-02-23 11:39 883http://wenku.baidu.com/view/958 ... -
Oracle 的性能优化概述
2013-02-23 11:34 1074Oracle 的性能优化概 ... -
mysql 索引
2013-02-23 11:33 977索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一 ... -
hibernate规则
2012-12-18 14:58 1108实体类的编写规则 l 实体类必须具备无参 ... -
Hibernate 关联关系映射(Association Relationship Mapping)
2012-12-17 18:55 976一对一主键关联 数据表为:夫妻表 POJO 为 ... -
关系型数据库性能优化总结(转)
2012-06-13 14:17 860关系型数据库性能优化 ... -
spring+hibernate架构中Dao访问数据库的几种方法
2011-11-28 18:10 1426spring+hibernate架构中Dao访问数据库的几种方 ... -
mybatis 缓存(二)
2011-10-20 13:05 5361缓存不适合情况:select ... -
mybatis 缓存(一)
2011-10-20 11:27 1283缓存概述 http://www.iteye.com/topi ... -
hibernate 延迟加载(一)
2011-10-12 10:03 968首先是第一个误区:延迟加载只能作用于关联实体 看到这个是不 ... -
mybatis 多对多 处理
2011-09-26 18:41 42103下面的例子让新手看 ... -
MyBatis+Spring基于接口编程的原理分析
2011-09-17 15:57 3443整合Spring3及MyBatis3 对于整合Sprin ... -
解释 关闭statement 和rs
2010-09-19 13:14 2369很多朋友在Java开发中, ... -
HIBERNATE
2010-07-30 11:51 888使用java进行项目开发也有不少年头了,应用从网站到金融产品到 ... -
Oracle嵌套表和数组的使用(省去了连接查询)
2010-07-27 17:18 2305Oracle嵌套表的使用 1. 创建对象类型 create ... -
延迟加载
2010-07-11 14:04 1341could not initialize proxy - no ...
相关推荐
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在使用MyBatis时,我们需要理解其核心组件...在实际项目中,理解并熟练掌握MyBatis的基本使用,对于提升开发效率和代码质量有着重要作用。
【标题】:Mybatis系列教程Mybatis基本应用共9页.pdf 【描述】:这份教程是关于Mybatis基本应用的详细讲解,包含了9页丰富的内容,旨在帮助学习者深入理解和掌握Mybatis这一强大的持久层框架。 【标签】:Mybatis...
综上所述,MyBatis基本CRUD操作涉及了数据库中的基本操作,而动态SQL则展示了MyBatis如何通过XML映射文件实现灵活的SQL构建。配合`log4j.properties`配置,开发者可以更好地理解和优化MyBatis应用的执行流程。通过...
### MyBatis基本使用与优化 #### MyBatis简介与使用方法 MyBatis是一个流行的持久层框架,它简化了Java应用程序与数据库交互的过程。MyBatis的核心特性在于它的ORM(对象关系映射)功能,它能够将Java实体类与SQL...
这个"spring+springMVC+mybatis基本包"压缩文件提供了这三大框架的基础库,便于开发者快速搭建和运行基于SSM的项目。下面将详细介绍这三个框架以及它们在集成中的作用。 1. Spring框架: Spring 是一个开源的Java...
在这个“MyBatis基本的增删查改案例”中,我们将深入探讨如何利用MyBatis进行数据的插入、删除、查询和更新。 首先,MyBatis的核心组件包括配置文件(mybatis-config.xml)和映射文件(mapper.xml)。配置文件定义...
**Spring整合SpringMVC MyBatis基本项目框架详解** 在Java Web开发中,Spring、SpringMVC和MyBatis是常见的三大组件,它们一起构建了一个强大的企业级应用框架。Spring作为一个全面的轻量级容器,提供了依赖注入...
MyBatis基本应用开源架构源码2021.pdf MyBatis是当前最流行的持久层框架之一,它提供了一个简单且高效的方式来访问和操作数据库。MyBatis的主要特点是它可以将Java对象与SQL语句分离,使得开发者可以更加专注于业务...
Mybatis基本使用方法但是没有注解使用方法
mybatis基本文件xml、mapper等自动生成工具 可自己根据自己的项目路径自行配置文件夹路径,本DEMO是使用的mysql数据库,可自行更换其他数据源 本DEMO会自动生成dao、model、mapper、xml文件,自带基本方法,可自动...
本资料包含MyBatis的基本配置和实例,适合初学者学习,特别关注与SQL Server的集成。 1. **MyBatis的基本配置**: MyBatis的配置文件通常为`mybatis-config.xml`,其中包含了数据源配置、事务管理器、环境配置等...
在本示例中,我们探讨的是如何实现MyBatis的基本功能。这个压缩包提供了源代码和一个名为“mybatis映射笔记.odt”的文档,其中详细记录了在实现过程中关于映射遇到的问题和解决方案。 首先,我们要理解MyBatis的...
MyBatis配置文件中大标签configuration下子标签包括: configuration |--- properties |--- settings |--- typeAliases |--- typeHandlers |--- objectFactory |--- plugins |--- environments |--- |--- ...
这个 "mybatis基本包" 包含了开发过程中可能需要的所有 MyBatis 相关 jar 包,确保了项目运行的兼容性和稳定性。如果你在开发过程中缺少某些依赖,可以通过联系提供者来获取更多资源。 总结来说,MyBatis 是一个...
通过以上步骤,一个基于Spring Boot+Mybatis的基本框架Demo就搭建完成了。这样的架构可以作为一个微服务的基础,方便扩展和维护。在实际的微服务架构中,我们可能还会涉及到其他组件,如Spring Cloud、Docker容器化...
在本文中,我们将深入探讨如何使用Mybatis来实现基本的数据库增删改查(CRUD)操作。 首先,我们需要在项目中引入Mybatis的依赖。通常,这可以通过Maven或Gradle来完成。在Maven的pom.xml文件中,添加以下依赖: `...
在"Mybatis基本开发demo"中,我们通常会涉及以下几个核心知识点: 1. **环境搭建**:首先,我们需要引入MyBatis的依赖库,这通常通过Maven或Gradle等构建工具完成。在`pom.xml`或`build.gradle`文件中添加MyBatis和...
在本教程中,我们将深入探讨MyBatis的基本配置和如何进行简单的增删改查操作。 **1. MyBatis的基本配置** MyBatis的配置文件通常命名为`mybatis-config.xml`,它是整个MyBatis框架的全局配置。以下是一些基本配置...
在Java Web开发中,Spring、SpringMVC和Mybatis是三个非常重要的框架,它们共同构成了SSM(Spring-SpringMVC-Mybatis)集成开发框架。这个框架组合提供了全面的解决方案,从依赖注入到业务逻辑处理,再到数据库操作...