1.项目文件分布。

2、example1.java:

  1. package com.rhythmk.example1;
  2.  
  3. import java.io.IOException;
  4. import java.io.Reader;
  5. import java.sql.SQLException;
  6. import java.util.List;
  7. import com.ibatis.common.resources.Resources;
  8. import com.ibatis.sqlmap.client.SqlMapClient;
  9. import com.ibatis.sqlmap.client.SqlMapClientBuilder;
  10.  
  11. public class example1 {
  12.  
  13. private static String resource = "com\\rhythmk\\example1\\SqlMapConfig.xml";
  14. private static SqlMapClient sqlMapClient = null;
  15. static {
  16. System.out.println(System.getProperty("user.dir"));
  17. try {
  18. Reader reader = Resources.getResourceAsReader(resource);
  19. sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
  20. reader.close();
  21. } catch (IOException e) {
  22. e.printStackTrace();
  23. }
  24. }
  25.  
  26. public static void main(String[] args) {
  27. // TODO Auto-generated method stub
  28.  
  29. GetAllUser();
  30.  
  31. GetUserById(1);
  32. }
  33.  
  34. /*
  35. * 根据ID 获取User
  36. */
  37. public static void GetUserById(Integer id) {
  38. User user = null;
  39. try {
  40.  
  41. sqlMapClient.startTransaction();
  42.  
  43. user = (User) sqlMapClient.queryForObject("selectById",
  44. new Integer("1"));
  45. System.out.println(user.getName());
  46. sqlMapClient.commitTransaction();
  47. } catch (Exception e) {
  48. e.printStackTrace();
  49. }
  50. }
  51.  
  52. public static void GetAllUser() {
  53. List<User> list = null;
  54. try {
  55.  
  56. list = (List<User>) sqlMapClient.queryForList("selectAll");
  57. for (User user : list) {
  58. System.out.println(user.getId() + "," + user.getName());
  59. }
  60.  
  61. } catch (Exception e) {
  62. e.printStackTrace();
  63. }
  64.  
  65. }
  66.  
  67. }

  

3、User.java:

  1. package com.rhythmk.example1;
  2.  
  3. public class User {
  4.  
  5. public int getId() {
  6. return Id;
  7. }
  8. public void setId(int id) {
  9. Id = id;
  10. }
  11. public String getName() {
  12. return name;
  13. }
  14. public void setName(String name) {
  15. this.name = name;
  16. }
  17. public int getAge() {
  18. return Age;
  19. }
  20. public void setAge(int age) {
  21. Age = age;
  22. }
  23. private int Id;
  24. private String name;
  25. private int Age;
  26.  
  27. }

  

4、SqlMap.properties:

  1. driver=com.mysql.jdbc.Driver
  2. url=jdbc:mysql://localhost:3306/test
  3. username=root
  4. password=rhythmk

5、SqlMapConfig.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE sqlMapConfig
  3. PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
  4. "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
  5. <sqlMapConfig>
  6. <!-- 数据库连接的属性文件 -->
  7. <properties resource="com\rhythmk\example1\SqlMap.properties" />
  8.  
  9. <transactionManager type="JDBC"><!-- type:定义了ibatis的事务管理器有3种,JDBC、JTA、EXTERNAL -->
  10. <dataSource type="SIMPLE"><!-- type属性指定了数据源的连接类型有3种,SIMPLE、DBCP、JNDI -->
  11. <property value="${driver}" name="JDBC.Driver" />
  12. <property value="${url}" name="JDBC.ConnectionURL" />
  13. <property value="${username}" name="JDBC.Username" />
  14. <property value="${password}" name="JDBC.Password" />
  15. </dataSource>
  16. </transactionManager>
  17.  
  18. <!-- 实体类和数据库表的映射 -->
  19. <sqlMap resource="com\rhythmk\example1\User.xml" />
  20.  
  21. </sqlMapConfig>

6.User.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE sqlMap
  3. PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
  4. "http://ibatis.apache.org/dtd/sql-map-2.dtd">
  5. <sqlMap>
  6. <typeAlias alias="User" type="com.rhythmk.example1.User" />
  7. <!-- 查询所有记录 -->
  8. <select resultClass="User" id="selectAll">
  9. SELECT id, name ,age from `user`
  10. </select>
  11.  
  12. <!-- 精确查询 按照条件查询记录 按照部门编号DEPTNO查询 -->
  13. <select parameterClass="int" resultClass="User" id="selectById">
  14. SELECT id, name ,age from `user` where id=#id#
  15. </select>
  16. </sqlMap>

SQL:

  1. CREATE TABLE `user` (
  2. `Id` int(11) NOT NULL,
  3. `Name` varchar(32) CHARACTER SET utf8 NOT NULL,
  4. `Age` int(11) NOT NULL
  5. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

http://files.cnblogs.com/rhythmK/IbatisExample.rar

Rhythmk 一步一步学 JAVA(11)Ibatis 环境配置的更多相关文章

  1. 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)

    你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...

  2. 从零开始学 Java - Spring 集成 ActiveMQ 配置(二)

    从上一篇开始说起 上一篇从零开始学 Java - Spring 集成 ActiveMQ 配置(一)文章中讲了我关于消息队列的思考过程,现在这一篇会讲到 ActivMQ 与 Spring 框架的整合配置 ...

  3. JAVA EE 运行环境配置(包含JAVA SE)

    JAVA EE 运行环境配置(包含JAVA SE) 1.下载并安装jre-7u7-windows-i586.exe (最新的JAVA运行环境) 2.下载并安装java_ee_sdk-6u4-jdk7- ...

  4. WIN7系统JavaEE(java+tomcat7+Eclipse)环境配置

    https://jingyan.baidu.com/article/3a2f7c2e62d25e26afd611fa.html WIN7系统JavaEE(java+tomcat7+Eclipse)环境 ...

  5. Selenium2学习-001-Selenium2 WebUI自动化Java开发 Windows 环境配置

    此文主要介绍 Selenium2 WebUI自动化Java开发 Windows 环境配置,供各位亲们参考,若有不足之处,敬请各位大神指正,非常感谢! 所需软件列表如下所示: 所属分类 具体名称 备注 ...

  6. java web开发环境配置系列(二)安装tomcat

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http: ...

  7. java web开发环境配置系列(一)安装JDK

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载JDK文件(http://www.or ...

  8. Java安装和环境配置

    Java安装和环境配置 从事Java开发第一关就是安装JAVA环境. 我们要安装JDK, 全称Java开发全套. 其中包含了JRE(运行时环境), 如果你打游戏的时候可能会提示你缺少JRE. 我们要做 ...

  9. Sublime Text3 for Java 编译运行环境配置 入门详解 - 精简归纳

    Sublime Text3 for Java 编译运行环境配置 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 24 转载请注明出处!️ 目录 Sublime Text3 for ...

  10. java10.0.2和java 11.0.1配置环境变量

    java10.0.2 在网上找了各种方法一直也没配好打开jak下的lib文件夹发现并没有tools.jar,后经查询jdk-9后就没有了上述.jar文件所以我的配置方法如下 ClASSPATH C:\ ...

随机推荐

  1. Chrome调试javacript禁止缓存

    /********************************************************************* * Chrome调试javacript禁止缓存 * 说明: ...

  2. Qt 5.8 移植编译、测试

    /****************************************************************************** * Qt 5.8 移植编译.测试 * 说 ...

  3. 【解题报告】13级个人结业赛(二) ——动(dou)态(bu)规(hui)划(zuo)专场

    额.果然是动(dou)态(bu)规(hui)划(zuo)专场... A: 翻倍序列 dp[i][j]表示第i个位置是j的情况的个数那么dp[i][j]=∑dp[i-1][k]   (j%k==0)初始 ...

  4. Uva12230Crossing Rivers (数学期望)

    问题: You live in a village but work in another village. You decided to follow the straight path betwe ...

  5. Codeforces1070 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)总结

    第一次打ACM比赛,和yyf两个人一起搞事情 感觉被两个学长队暴打的好惨啊 然后我一直做傻子题,yyf一直在切神仙题 然后放一波题解(部分) A. Find a Number LINK 题目大意 给你 ...

  6. BZOJ4689 Find the Outlier 【高斯消元】*

    BZOJ4689 Find the Outlier Description Abacus教授刚刚完成了一个制作数表的计算引擎的设计.它被设计用于同时计算一个多项式在许多点的取值.例如对于多项式 f(x ...

  7. Flask第二篇——服务器相关

    web服务器.应用服务器和web应用框架 web服务器:负责处理http请求.响应静态文件,常见的有Apache,Nginx以及微软的IIS 应用服务器:负责处理逻辑的服务器.比如php.python ...

  8. 接口测试框架——第三篇:发送(requests)

    把下面的代码放在requests_module.py文件中 # coding: utf-8 import requests import logging from requests.exception ...

  9. CH0805 防线(秦腾与教学评估)

    题意 lsp 学习数学竞赛的时候受尽了同仁们的鄙视,终于有一天......受尽屈辱的 lsp 黑化成为了黑暗英雄Lord lsp.就如同中二漫画的情节一样,Lord lsp 打算毁掉这个世界.数学竞赛 ...

  10. (转)如何获得当前ListVIew包括下拉的所有数据?

    ListView listView = activity.getListView();获取的仅仅是当前屏幕显示的list,但是具有下拉信息,不在当前屏幕,但是下拉显示的数据无法或得到.谁知道如何获得当 ...