用对象的思维了解使用Mybatis框架
来源:互联网 发布:apache modwsgi 编辑:程序博客网 时间:2024/06/06 02:34
1.虽然不想说一些闲话,但是我还是觉得有些必要,关于思维的思考。
最近在学习Mybatis的时候,我发现我一直都仅仅把Mybatis框架看作是一个技术的框架,一个工具,也跟hibernate联系的学习了起来,虽然收获颇丰,但是总觉得好像在
兜圈子,深深的想了下,发现这样的理解可能是对的,但是我觉得这样好像会使自己的思维固定,所以我又认真的想了想,有没有更好的方法呢?后面我发现用对象的思想的理
解好了很多,因为万物都是对象吗,我们可以把我们用到的一些框架当作是一个个的对象来理解,不知道这样会不会更好理解一点呢?
我觉得框架拥有对象应该有的一切属性。
2.自从有了这个思维,我就开始的去想,去验证,到底是不是这样:
首先我们创建对象的步骤是不是这样的:
(1)创建一个高度抽象的对象,其实就是我们常用的类
(2)在使用我们创建的对象的时候,用new关键字来创建对象
(3)接着就是调用对象里面的方法。
然后我们看看使用框架的使用的步骤:
(1)肯定要导入jar包,java中省略是因为本身就由很多的jar
(2)肯定是导入一些配置文件,然后再去修改配置达到我们的目的。(类比了一下,我觉得这就是我们创建类的过程)
(3)毫无疑问,就是创建使用的对象了,就是读取xml文档等,获得对象
(4)也是调用它提供给我们的方法
这样看来是不是感觉有点的相似呢?
接着,我们每一次主动的去配置文件,是不是就是相当于给我们的类去添加方法,无非就是方法的名,传入的参数,返回值的类型等,不过每个框架都有自己的原则规范。
我觉得自从我这样理解,我就感觉框架我就会了一半了,当然这是夸张的说法,毕竟框架要考虑的东西还有很多,但对于我们去使用,应该不成问题。
所以在理解上,框架就是一个对象。
3.下面我们就通过一个例子来玩转Mybatis框架的基本使用;
3.1首先应用它做一个查询的操作:
跟上面说的框架的使用步骤一样:
我们就跳过(1)(2)步骤,直接从第三个步骤开始:
(3)配置mybatis-config.xml文件跟UserMapper.xml文件,如下图所示(不懂得可以参照我的上一篇文章,或许你会有点感悟Mybatis学习)
mybatis-config.xml文件(这个就是相当于我们创建的基本类,通过mappers标签引入嵌入类)
<?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/mybatis_db" /> <property name="username" value="root" /> <property name="password" value="yqy" /> </dataSource></environment></environments><mappers> <mapper resource="com/zqu/mybatis/dao/pojo/User.xml" /></mappers></configuration>UserMapper.xml文件(这个就相当于嵌入类,就是我们定义的方法,给基本类使用)
<?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="com.zqu.mybatis.dao.pojo.UserMapper"><select id="GetUserByID" parameterType="int" resultType="User">select uname as "uname",upwd as "upasword" from `user` where uid = #{uid} </select></mapper>一个mapper就相当于一个嵌入类,select标签就是一个方法的类型,还有insert,update,delete等,其实就是
相当于平常对象里面的void,String,int等类型,id = 方法名 ,parameterType = 参数,resultType = 返回类型
毫无疑问下面的sql语句就是我们的定义一个方法的过程,在Mybatis用OGNL的方法接受参数,就是#{},用${}也行,但是线程不安全,pojo类的难以处理,建议用#{}
这样是不是就感觉简单了很多,我知道很多人也有这种的感觉
(4)创建一个POJO类java的普通对象User
package com.zqu.mybatis.dao.pojo;public class User {private int uid;private String uname;private String upasword;public User() {// TODO Auto-generated constructor stub}public User(int uid, String uname, String upasword) {super();this.uid = uid;this.uname = uname;this.upasword = upasword;}public int getUid() {return uid;}public void setUid(int uid) {this.uid = uid;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getUpasword() {return upasword;}public void setUpasword(String upasword) {this.upasword = upasword;}}(5)我们就要去使用了,装备都已经装好了,现在上战场把:
package com.zqu.mybatis.dao.pojo;import java.io.Reader;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 HelloWorld {private static SqlSessionFactory sqlSessionFactory;private static Reader reader;static {try {reader = Resources.getResourceAsReader("Config.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (Exception e) {e.printStackTrace();}}public static SqlSessionFactory getSession() {return sqlSessionFactory;}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSqlSession session = sqlSessionFactory.openSession();try {String statement = "com.zqu.mybatis.dao.pojo.UserMapper.GetUserByID";User user = (User) session.selectOne(statement, 2);if(user!=null){String userInfo = "名字:"+user.getUname()+", 密码::"+user.getUpasword();System.out.println(userInfo);}} finally {session.close();}}}
结果显示:
名字:剑魔, 密码::12345631
文章就写到这里啦,有什么不对的地方,希望多多谅解,留言让我改正,学习,谢谢。
- 用对象的思维了解使用Mybatis框架
- MyBatis框架的使用
- MyBatis框架的使用
- MyBatis框架的使用
- Mybatis框架的使用
- MyBatis框架的使用
- MyBatis框架的基本使用
- OgnlContext对象的了解与使用
- 框架思维的雏形
- 构建一个使用mybatis框架的项目
- 使用MyBatis 框架犯的错误
- MyBatis框架的使用(一)
- MyBatis的使用和SSM框架基础
- 面向对象的思维
- 面向对象的思维
- 对象的思维
- SpringSide使用MyBatis框架
- Mybatis框架使用步骤
- redis内存数据库C客户端hiredis API 中文说明
- oracle判断一个字符串中是否包含另外一个字符串
- 创建与合并分支
- jeeCmsV7-src 源码解析之八(后台导入模板与资源文件)
- (14)HTML5-Dom控制
- 用对象的思维了解使用Mybatis框架
- memcached
- Mac为nginx安装nginx-sticky-module
- Js获取 数组或对象 的长度
- maven项目部署到tomcat上
- NoSQL Manager for MongoDB 破解
- 提高影响力:职权+威信
- 配置tomcat使用https协议
- BZOJ 2595: [Wc2008]游览计划 斯坦纳树