使用JNDI的一个简单iBatis的例子
2009-12-16 15:55
295 查看
这个例子是我在看了官方文档和ibatis包中附带的一个小示例程序写的,没有使用DAO技术。这个例子的内容很简单,因此也很适合入门的新手。
我使用的环境是netbeans6.7,ibatis-2.3.4,mysql5.1,tomcat6.018。
整个过程分为两步:创建数据库和创建一个简单的web工程。
首先,创建一个示例数据库。我使用的sql语句如下:
其次,新建一个Java web工程
在netbeans中,新建一个名为”SimpleIBatis“的Java web工程,在库中添加ibatis的包。
在
源包中新建这几个文件:persistence.SqlMap.java, persistence.domain.User.java,
persistence.sql.SqlMapConfig.xml,
persistence.sql.User.xml,其实就是三个包加里面的四个文件。源码分别如下:
SqlMap.java:
User.java
SqlMapConfig.xml
User.xml
在index.jsp中的代码:
附:
刚刚测试了下,在User.xml的select语句中可以不将全部字段选出来,那些没有在select的字段默认值为null之类的。如下面是我测试用的select语句:
结果如图:
我使用的环境是netbeans6.7,ibatis-2.3.4,mysql5.1,tomcat6.018。
整个过程分为两步:创建数据库和创建一个简单的web工程。
首先,创建一个示例数据库。我使用的sql语句如下:
Create database SimpleIBatis; use SimpleIBatis; create table User( ID int(3) not null auto_increment primary key, User_Name char(10) not null, User_Password char(10) not null, User_Time timestamp ); insert into User(User_Name, User_Password) values('test', 'test');
其次,新建一个Java web工程
在netbeans中,新建一个名为”SimpleIBatis“的Java web工程,在库中添加ibatis的包。
在
源包中新建这几个文件:persistence.SqlMap.java, persistence.domain.User.java,
persistence.sql.SqlMapConfig.xml,
persistence.sql.User.xml,其实就是三个包加里面的四个文件。源码分别如下:
SqlMap.java:
package persistence; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClient; import com.ibatis.sqlmap.client.SqlMapClientBuilder; import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import persistence.domain.User; public class SqlMap { private static SqlMapClient sqlMapper; static{ try{ Reader reader = Resources.getResourceAsReader("persistence/sql/SqlMapConfig.xml"); sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); }catch(IOException e){ System.err.println("An error occured on reading SqlMapConfig.xml "); e.printStackTrace(); } } public static User selectUserById(int id) throws SQLException{ return (User) sqlMapper.queryForObject("selectUserById", id); } }
User.java
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package persistence.domain; public class User { private int id; private String username; private String password; private String time; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getTime() { return time; } public void setTime(String time) { this.time = time; } public String getUsername() { return username; } public void setUsername(String userName) { this.username = userName; } }
SqlMapConfig.xml
<?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> <transactionManager type="JDBC" commitRequired="false"> <dataSource type="JNDI"> <property name="DataSource" value="java:comp/env/SimpleIBatis"/> </dataSource> </transactionManager> <sqlMap resource="persistence/sql/User.xml"/> </sqlMapConfig>
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 namespace="User"> <typeAlias alias="User" type="persistence.domain.User"/> <select id="selectUserById" parameterClass="int" resultClass="User"> select ID as id, User_Name as username, User_Password as password, User_Time as time from User where ID = #id# </select> </sqlMap>
在index.jsp中的代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%> <%@page import="persistence.SqlMap, persistence.domain.User" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <p> <% User user = SqlMap.selectUserById(1); String username = user.getUsername(); String password = user.getPassword(); %> UserName:<%=username%><br/> PassWord:<%=password%> </p> </body> </html>
附:
刚刚测试了下,在User.xml的select语句中可以不将全部字段选出来,那些没有在select的字段默认值为null之类的。如下面是我测试用的select语句:
<?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="persistence.domain.User"/> <select id="selectUserById" parameterClass="int" resultClass="User"> select User_Password as password from User where ID = #id# </select> </sqlMap>
结果如图:
相关文章推荐
- 使用OpenMP的一个简单例子
- 通过编码方式使用性能计数器来进行性能计数的一个简单例子 - ZT
- .net创建一个ActiveX控件并使用的简单例子
- 一个简单的例子教你如何使用zxing开源项目
- Spring MVC中使用SimpleUrlHandlerMapping映射处理器的一个简单例子
- 如何使用epoll? 一个C语言的简单例子 - asdfjkl210 - ITeye技术网站
- 使用CXF框架实现webservice的一个简单例子
- Spring MVC:使用SimpleUrlHandlerMapping的一个简单例子
- 一个java生成与使用WebService的简单例子
- 使用Eclipse开发一个Servlet3.0的简单例子
- IOS:最简单一个使用自定义的TableViewCell例子
- 一个简单例子了解使用互斥量线程同步
- 一个简单的iBatis入门例子
- 词法分析程序 LEX和VC6整合使用的一个简单例子
- 一个java生成与使用WebService的简单例子
- Windows 7中使用AMD APP OpenCL的一个简单例子
- 一个epoll/aio/eventfd结合使用的简单例子
- 使用servlet开发动态wap的一个简单例子
- 使用rpcgen构建分布式程序的一个简单例子
- 使用debugfs导出调试信息--一个简单的例子