(6)MyBatis小总结:一个简单的例子--接口编程改进
来源:互联网 发布:游戏美工好找工作吗 编辑:程序博客网 时间:2024/06/04 00:24
日期:2017/12/6
一、回顾 java 的 interface 语法:特殊的抽象类 + 方法必须无实体。(参考 Java(4):基础:面向对象学习的重要点 )
二、回顾sql在User.xml的封装(namespace + id):((5)MyBatis小总结:一个简单的例子)
<?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="User"> <select id="selectUser" resultType="mybatis.User"> select * from employee where id=#{id} 三、Mybatis的接口编程,恰好是使用 interface_name + method_name 组成唯一的 sql 设定。3.1 UserImp.java
package mybatis;//运用OOP编程思想,给xml做过改进 --- 接口编程public interface UserImp {//定义方法,interface 只能定义方法,无法实现方法体。public User getUserById(Integer id);}
3.2 改进后的 User.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="mybatis.UserImp"> <select id="getUserById" resultType="mybatis.User">select * from employee where id=#{id} </select></mapper>
3.3 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="" /> </dataSource> </environment> </environments> <mappers> <mapper resource="mybatis/User.xml" /> </mappers></configuration>
3.4 testcase2.java
package mybatis;import java.io.IOException;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 testcase2 {public static void main(String [] args) throws IOException{ String resource = "mybatis/configuration.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession(); try{ //获得 接口对象 UserImp usermapper = session.getMapper(UserImp.class); User user = usermapper.getUserById(1); System.out.println(user); }finally{ session.close(); }}}
测试结果:
log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).log4j:WARN Please initialize the log4j system properly.Employee [id=1, lastName=mmb, email=144@qq.com, gender=0]
效果与此前一样。
阅读全文
0 0
- (6)MyBatis小总结:一个简单的例子--接口编程改进
- (5)MyBatis小总结:一个简单的例子
- 面向接口编程的一个小例子
- MyBatis使用接口映射的简单HelloWorld小例子
- MyBatis的一个小例子
- Mybatis 一个简单的例子
- 一个简单的MyBatis例子
- MyBatis的第一个HelloWorld小例子(不用接口)
- Mybatis+Spring基于接口编程的例子
- unix网络编程的一个简单例子总结
- mybatis面向接口编程的小案例
- 面向接口编程的小例子
- MyBatis学习(一)一个简单的例子
- 接口理解的一个小例子
- c#接口简单易懂的一个例子
- Linux C编程的一个小例子——实现一个简单的who命令(第一版)
- 一个面向接口编程的好例子
- 一个面向接口编程的好例子
- codeforce897C
- B
- 【bzoj 1002】 轮状病毒 [FJOI2007]
- LeetCode 166. Fraction to Recurring Decimal
- centos系统添加网卡
- (6)MyBatis小总结:一个简单的例子--接口编程改进
- 序列化的相关提问
- java中重载(overload)测试总结
- 02-idea破解码及相关初始化
- 时间复杂度和空间复杂度计算+尾递归
- cocos2dx之实现扑克牌翻转效果的三种方法
- extent management local
- C语言项目:注释转换(C风格注释转换成C++风格注释)
- 8.数据结构(1)