ibatis环境配置
数据库配置文件
jdbc.properties
- jdbc.driverClassName=com.mysql.jdbc.Driver (jdbc driver)
- jdbc.url=jdbc:mysql://localhost:3306/test?autoReconnect=true&useUnicode=true&characterEncoding=utf8 (链接url)
- jdbc.username=root (用户名)
- jdbc.password=123 (密码)
iBatis的配置文件是SqlMapConfig.xml,这里面需要声明数据库连接的属性信息,数据源配置信息,映射文件等信息。先看个例子,其中属性含义先不必深究,当然也可以去google。
- <?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>
- <properties resource="jdbc.properties" />
- <transactionManager type="JDBC">
- <dataSource type="SIMPLE">
- <property name="JDBC.Driver" value="${jdbc.driverClassName}" />
- <property name="JDBC.ConnectionURL" value="${jdbc.url}" />
- <property name="JDBC.Username" value="${jdbc.username}" />
- <property name="JDBC.Password" value="${jdbc.password}" />
- </dataSource>
- </transactionManager>
- <sqlMap resource="ibatis/resources/User.xml" />
- </sqlMapConfig>
配置好iBatis后,我们就要进行数据库操作了,当然iBatis本身的SQL语句也是写在映射文件中的,那么就要看User.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>
- <typeAlias alias="User" type="ibatis.model.User" />
- <select id="getAllUsers" resultClass="User">
- select *
- from users
- </select>
- </sqlMap>
typeAlias标签是设置别名用的,这里我们使用了一个Bean叫做User,声明别名后,在文件的后续部分可以直接使用别名而不用再给出完整类型了,非常方便,如select标签中的resultClass属性。
这个配置我们使用的是Bean作为返回的结果类型,当然也可以使用Map,非常灵活。Select的id是标识该SQL语句的标识符,要在应用程序中使用到,必须唯一。Select标签体内的部分就是SQL语句了,当然这里是最简单的示例。
最后就是应用程序,写法也很简单。首先是加载iBatis的配置文件,然后使用SqlMapClient接口提供的方法进行数据操作。
- package ibatis;
- import ibatis.model.User;
- import java.io.*;
- import java.sql.SQLException;
- import java.util.List;
- import com.ibatis.common.resources.Resources;
- import com.ibatis.sqlmap.client.*;
- public class IBatisDemo {
- public static void main(String[] args) throws IOException, SQLException {
- String config = "ibatis/SqlMapConfig.xml";
- Reader reader = Resources.getResourceAsReader(config);
- SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
- List<User> list = sqlMap.queryForList("getAllUsers");
- for (User user : list) {
- System.out.println(user);
- }
- }
- }

浙公网安备 33010602011771号