iBatis-iBatis配置环境(eclipse+mysql)
在使用JAVA框架前要配置其环境,比如使用Hibernate、Struts等都需要对其环境进行配置,当然使用iBatis开发之前,也需要配置iBatis环境。
一、iBatis环境的配置只需三步
1.引入jar包
2.配置sqlMapConfig.xml文件
3.配置SqlMap.xml文件
二、概览iBatis环境所需文件
三、配置iBatis环境具体操作如下
1.引入iBatis环境所需jar包
引jar方式见博客《Eclipse下导入外部jar包的3种方式》
iBatis环境所需jar包如下:
- iBatis核心包: ibatis-2.3.4.726.jar
- 单元测试工具包: junit-3.8.1.jar
- 2个日志文件(信息打印到控制台): commons-logging.jar和log4j-1.2.11.jar
- 数据库驱动包(here MySql): mysql-connector-java-5.1.5-bin.jar
引入jar包后,添加日志文件log4j.properties(为了使执行的sql语句打印在控制台上,此文件直接拷贝下面代码即可)
# SqlMap logging configuration...
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
#log4j
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{ISO8601} - %p - %m%n
log4j.rootLogger=INFO, console
然后在MySql数据库中创建A_User表,作为测试使用,建表语句如下:
mysql> CREATE TABLE A_User ( ID INT NOT NULL auto_increment, FIRST_NAME VARCHAR(50), LAST_NAME VARCHAR(50), EMAIL VARCHAR(50), PRIMARY KEY (id) );
2.添加并配置sqlMapConfig.xml文件
sqlMapConfig.xml文件是使用iBatis的起点,负责把所有的sql映射文件组合在一起,用于配置文件中告诉iBatis如何连接数据库,以及获取哪些sql映射文件
jar包引入完毕,添加sqlMapConfig.xml文件,配置此文件时需要考虑以下几点:
-
我们将使用JDBC来访问MySql数据库,如ibatis_user
-
MySql的JDBC驱动程序是"com.mysql.jdbc.Driver"
-
连接URL是"jdbc:mysql://localhost:3309/ibatis_user" (我的MySql端口为3309)
-
使用的用户名和密码是“root”和“123456”
-
SQL语句映射的所有操作将被描述在“SqlMap.xml”
下面对sqlMapConfig.xml文件进行配置,已将数据库连接文件抽取出来:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<properties resource="db.properties"/>
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
<!-- 事务管理器 -->
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}" />
<property name="JDBC.ConnectionURL" value="${url}" />
<property name="JDBC.Username" value="${user}" />
<property name="JDBC.Password" value="${password}" />
</dataSource>
</transactionManager>
<sqlMap resource="com/wh/sql/SqlMap.xml"/> <!-- 对各SqlMap 文件的引用 -->
<!--<sqlMap resource="com/wh/sql/SqlMap1.xml"/>
<sqlMap resource="com/wh/sql/SqlMap2.xml"/>
<sqlMap resource="com/wh/sql/SqlMap3.xml"/>-->
</sqlMapConfig>
提取的数据库连接文件db.properties,连接MySql数据库(ibatis_user)的内容如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3309/ibatis_user
user=root
password=123456
连接Oracle的语法为:
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:ibatis_user
user=root
password=123456
3.配置SqlMap.xml文件
SqlMap.xml文件包含了我们将要运行的sql语句。SqlMap是整个iBatis的核心价值所在。通过使用SqlMap可以显著的节约数据库操作的代码量。
SqlMap是使用一个简单的xml文件来实现从javabean到sql statements的映射,跟其他的框架或者对象映射工具相比,sqlmaps最大的优势是简单。
SqlMap.xml文件配置如下:
?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="User">
<!-- 使用别名可以避免每次都输入类路径全称 -->
<typeAlias alias="User" type="com.wh.test.User"/>
<resultMap id="UserResult" class="User" >
<result property="id" column="ID"/>
<result property="firstName" column="FIRST_NAME"/>
<result property="lastName" column="LAST_NAME"/>
<result property="email" column="EMAIL"/>
</resultMap>
<!-- 根据id查询用户信息 -->
<select id="selectUserById" parameterClass="java.lang.String" resultMap="UserResult">
SELECT * FROM A_USER WHERE ID=#id#
</select>
</sqlMap>
至此iBatis的环境就简单的配置完了,接下来继续我们的iBatis之旅吧!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。