ibatis 学习之一 环境搭建,简单小demo练习
来源:互联网 发布:java虚拟机 周志明 编辑:程序博客网 时间:2024/06/05 20:09
最近准备好好学习下ibatis,同时把学习的点滴记录下来,这样子以后可以温故而知新,还可以增加自己的记忆
首先,我们搭建一个简单的ibatis的环境的时候,需要的ibatis简单jar包一个,可以到apache网站上面下载。接下来,就是本地有oracle或者别的数据库软件。或者远程也可以。
剩余的需要oracle的各种驱动包可以到oracle的环境中去找到。
如上图,是我的eclipse ibatis的demo的全部的文件。
接下来,简单介绍下:
1:SqlMapConfig.xml:
该文件是ibatis的基础配置文件,其中配置了各种数据库连接信息等,如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig> <!-- Configure a built-in transaction manager. If you're using an app server, you probably want to use its transaction manager and a managed datasource --> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="oracle.jdbc.driver.OracleDriver"/> <property name="JDBC.ConnectionURL" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL"/> <property name="JDBC.Username" value="shikenian"/> <property name="JDBC.Password" value="shikenian520"/> </dataSource> </transactionManager> <!-- List the SQL Map XML files. They can be loaded from the classpath, as they are here (com.domain.data...) --> <sqlMap resource="com/skn/ibatis/data/User_Account.xml"/> <!-- List more here... <sqlMap resource="com/skn/ibatis/data/user"/> --></sqlMapConfig>其中,事物管理节点中配置类型为JDBC :transactionManager type="JDBC"
dataSource 我们选择了内置的一个dataSource,SIMPLE。
其中dataSource的各种参数配置上面的xml文件中,主要是对数据库的连接参数。解下来事物节点中还有很多别的节点,这里就不介绍了。
接下来介绍下SqlMap节点,这个节点主要是为了指向具体的封装了sql语句的xml文件。可以配置多个。
User_Account.xml
这个xml文件定义了对数据库的操作。具体的sql语句都分装在里面,如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap namespace="Account"><!-- Use type aliases to avoid typing the full classname every time. --><typeAlias alias="UserAccount" type="com.skn.ibatis.domain.UserAccount" /><!-- A simpler select example without the result map. Note the aliases to match the properties of the target result class. --><select id="selectAccountById" parameterClass="int" resultClass="UserAccount">select userID as userID,userName as userName,password as password from shikenian.user_account where userid= 1</select><insert id="insert_userAccount"> insert into shikenian.user_account values (3,'insertuser','insertpassword') </insert></sqlMap>
其中,可以定义insert、select、update、delete等sql语句
每个操作都有唯一的一个id,我们在代码中需要通过id来调用xml文件中定义的sql操作。
操作中,有ParameterClass、resultClass属性,其中,ParameterClass语句是用来表示方法传递下来的数据类型的。
resultClass属性表示的我们搜索出来的结果,需要映射到的Pojo的。
SimpleExample.java文件:
在这个类中的main方法中定义了简单的操作,如下:
public static void main(String[] args) throws IOException, SQLException {String resource = "com/skn/ibatis/data/SqlMapConfig.xml";Reader reader = Resources.getResourceAsReader(resource);SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);Integer id = 2;// Object xx = sqlMap.insert("insert_userAccount");UserAccount userAccount = (UserAccount)sqlMap.queryForObject("selectAccountById");System.out.println(<span style="font-family: Arial, Helvetica, sans-serif;">userAccount</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span>}需要注意的是:
需要通过ibatis中提供的Resoures类来读取配置文件,然后通过我们的 SqlMapClientBuilder来获取sqlMapClient对象,通过这个对象,就可以对数据库进行操作了。
比如上图就调用了insert语句和查询语句,并且查询的结果会自动地注入到我们定义的pojo类中的。
Pojo类就是上图简单的UserAccount类,其中封装了一些参数,和settter、getter方法,如下:
package com.skn.ibatis.domain;public class UserAccount {private int userID;private String userName;private String password;public int getUserID() {return userID;}public void setUserID(int userID) {this.userID = userID;}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;}@Overridepublic String toString() {return new StringBuilder().append("userID is :").append(userID).append(",userName is :").append(userName).append(",password is :").append(password).toString();}}
最终程序执行的结果如下:
数据库中数据如下:
- ibatis 学习之一 环境搭建,简单小demo练习
- ibatis学习笔记之一环境搭建
- Perl学习之一:环境搭建
- andengine学习之一 环境搭建
- Solr学习之一 --------环境搭建
- Liferay学习之一:环境搭建
- StringMvc环境搭建以及小demo,例子
- ibatis学习(一):ibatis初始及环境搭建
- ibatis练习小程序
- struts2简单入门demo-struts2环境搭建
- Entity Framework Demo(一) 简单搭建环境
- (一)Spring环境搭建及简单demo
- zookeeper+Dubbo环境搭建及简单Demo
- 搭建简单的Oracle/SQL练习环境
- 虚拟化简单练习环境搭建(一)
- 虚拟化简单练习环境搭建(二)
- iBATIS学习之一
- Vue学习【一】环境搭建,demo运行
- HDU 4911 Iversion(求逆序数)
- index skip scan
- PHP中转换数据类型
- APUE——线程
- 3.5-两个栈模拟一个队列
- ibatis 学习之一 环境搭建,简单小demo练习
- MySQL错误
- Hibernate4.3.5过滤器
- Find ways to code in Mac OS X
- hdu 4920 Matrix multiplication--2014 Multi-University Training Contest 5
- hdu 4704 Sum (费马小定理+快速幂)
- HDU2833:WuKong(Floyd 最大共同公共点)
- 什么是文件扩展名 JCE?
- 红黑树