- 浏览: 60808 次
- 性别:
- 来自: 深圳
最新评论
-
Dream89:
搞定,多谢
Unable to load configuration. - bean - jar -
javastudy_zbb:
aw815 写道我试过了,实际上就加上struts-blank ...
Unable to load configuration. - bean - jar -
blue3377:
只要把,这个类commons-fileupload-1.2.1 ...
Unable to load configuration. - bean - jar -
lupan028:
白人一看就知aw815 写道我试过了,实际上就加上struts ...
Unable to load configuration. - bean - jar -
aw815:
我试过了,实际上就加上struts-blank这个示例下的co ...
Unable to load configuration. - bean - jar
1. 首先导入ibatis的jar包(ibatis-2.3.0.677.jar,ibatis-dao-2.jar)和oracle连接驱动的jar包(classes12.jar)
2. 新建oracle实例oral,用户root,密码root,表visitlog
--访问日志表--
CREATE TABLE VisitLog (
IndexId NUMBER(10) NOT NULL,
OperateCode VARCHAR2(4) NOT NULL,
TableName VARCHAR2(10),
OperatorDesp VARCHAR2(100) NOT NULL,
OperatorAccount VARCHAR2(20),
OperatorTime DATE,
UserIp VARCHAR2(20) NOT NULL
)NOLOGGING;
ALTER TABLE VisitLog ADD CONSTRAINT PK_VisitLog_IndexId PRIMARY KEY (IndexId);
3 在d:目录下新建连接数据库的连接文件database.properties
####################################
# Database Connectivity Properties
####################################
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:oral
username=root
password=root
MaximumActiveConnections=20
MaximumIdleConnections=5
MaximumWait=60000
MaximumCheckoutTime=12000000
TimeToWait=5000
PingEnabled=false
PingConnectionsOlderThan=30000
PingConnectionsNotUsedFor=60000
4 新建webprobject项目ibatistest,新建包com.test
新建读取加载驱动类BatisManager.class
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.Reader;
import java.util.Properties;
import com.ibatis.common.resources.Resources;
import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.DaoManagerBuilder;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class BatisManager {
private static final String DAO_RESOURCE = "sqlmap/dao.xml";
private static final String SQL_RESOURCE = "sqlmap/sql-map-config.xml";
private static DaoManager daoManager;
private static SqlMapClient sqlMap;
private static String db_conf_path = null;
static {
}
public static DaoManager getDaomanager() {
return daoManager;
}
public static SqlMapClient getSqlMapInstance() {
return sqlMap;
}
public static Object getDaoObject(Class cls) {
return daoManager.getDao(cls);
}
public static Properties getDataBaseProp(String path) throws Exception {
Properties prop = null;
InputStream in = null;
try {
File f = new File(path);
in = new FileInputStream(f);
if (f.isFile())
prop = new Properties();
prop.load(in);
in.close();
} catch (Exception ex) {
System.out.println("The DataBase Config File Is Null Or False");
throw new Exception(
"Dont Read Correctly DataBase Config File,Please Check The File Path Or Content");
} finally {
in = null;
}
return prop;
}
public static void init(String db_conf_path) {
BatisManager.setDb_conf_path(db_conf_path);
try {
System.out.println("INFO: Starting To Load Dao Config File "
+ DAO_RESOURCE);
Reader reader = Resources.getResourceAsReader(DAO_RESOURCE);
Properties prop = null;
if (db_conf_path != null) {
prop = getDataBaseProp(db_conf_path);
daoManager = DaoManagerBuilder.buildDaoManager(reader, prop);
} else {
daoManager = DaoManagerBuilder.buildDaoManager(reader);
}
System.out.println("INFO: Load Dao Config File Success ");
System.out.println("INFO: Starting To Load Sql-Map Config File "
+ SQL_RESOURCE);
reader = Resources.getResourceAsReader(SQL_RESOURCE);
if (db_conf_path != null) {
prop = getDataBaseProp(db_conf_path);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader, prop);
} else {
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
}
System.out.println("INFO: Load Sql-Map Config File Success ");
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(
"Could not initialize DaoConfig. Cause: " + e);
}
}
public static String getDb_conf_path() {
return db_conf_path;
}
public static void setDb_conf_path(String db_conf_path) {
BatisManager.db_conf_path = db_conf_path;
}
}
5 新建ibatis类BaseSqlMapDao.class加载模板
package com.test;
import java.sql.Connection;
import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.template.SqlMapDaoTemplate;
public class BaseSqlMapDao extends SqlMapDaoTemplate {
protected static final int PAGE_SIZE = 4;
public BaseSqlMapDao(DaoManager daoManager) {
super(daoManager); //在Java中,this通常指当前对象,super则指父类的
}
public void setConnection(Connection conn) {
try {
this.getSqlMapTransactionManager().setUserConnection(conn);
} catch (Exception ex) {
System.out.println("BaseSqlMapDao.class Set connection error");
}
}
}
6 创建visitlog的VO类VisitLogVO
package com.test;
public class VisitLogVO {
private int INDEXID;
private String OPERATECODE;
private String TABLENAME;
public int getINDEXID() {
return INDEXID;
}
public void setINDEXID(int indexid) {
INDEXID = indexid;
}
public String getOPERATECODE() {
return OPERATECODE;
}
public void setOPERATECODE(String operatecode) {
OPERATECODE = operatecode;
}
public String getTABLENAME() {
return TABLENAME;
}
public void setTABLENAME(String tablename) {
TABLENAME = tablename;
}
}
7 新建DAO接口IIbatisDao
package com.test;
import java.util.List;
public interface IIbatisDao {
public List list(VisitLogVO vo);
}
8 Dao实现类IbatisDaoImpl.class
package com.test;
import java.util.List;
import com.ibatis.dao.client.DaoManager;
public class IbatisDaoImpl extends BaseSqlMapDao implements IIbatisDao {
public IbatisDaoImpl(DaoManager daoManager) {
super(daoManager);
}
private final static String SELECTINFO = "selectinfo";
public List list(VisitLogVO vo) {
List list=this.queryForList(SELECTINFO);
return list;
}
private static IIbatisDao _instance = null;
public synchronized static IIbatisDao instance() {
if (_instance == null) {
DaoManager daoManager = BatisManager.getDaomanager();
_instance = (IIbatisDao) daoManager.getDao(IIbatisDao.class);
}
return _instance;
}
public static void main(String[] args)
{
BatisManager.init("D:/database.properties");
IIbatisDao batis=(IIbatisDao)BatisManager.getDaoObject(IIbatisDao.class);
VisitLogVO vo=new VisitLogVO();
List<VisitLogVO> list=(List<VisitLogVO>)batis.list(vo);
System.out.println(list.size());
}
}
注:这里还不能测试,因为没有加裁查询和加载驱动的xml文件,最后再测!!!
9 在src目录下新sqlmap文件夹,src/sqlmap下新建src/sqlmap/dao.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE daoConfig SYSTEM "http://www.ibatis.com/dtd/dao-2.dtd">
<daoConfig>
<context>
<transactionManager type="SQLMAP">
<property name="SqlMapConfigResource"
value="sqlmap/sql-map-config.xml" />
</transactionManager>
<dao interface="com.test.IIbatisDao" implementation="com.test.IbatisDaoImpl" />
</context>
</daoConfig>
10 在src/sqlmap下新建src/sqlmap/sql-map-config.xml
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE sqlMapConfig SYSTEM "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="true" maxSessions="228" maxTransactions="128" maxRequests="1000"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property value="${driver}" name="JDBC.Driver"/>
<property value="${url}" name="JDBC.ConnectionURL"/>
<property value="${username}" name="JDBC.Username"/>
<property value="${password}" name="JDBC.Password"/>
<property name="JDBC.DefaultAutoCommit" value="true"/>
<property value="${MaximumActiveConnections}" name="Pool.MaximumActiveConnections"/>
<property value="${MaximumIdleConnections}" name="Pool.MaximumIdleConnections"/>
<property value="${MaximumWait}" name="Pool.MaximumWait"/>
<property name="Pool.MaximumCheckoutTime" value="${MaximumCheckoutTime}"/>
<property name="Pool.TimeToWait" value="${TimeToWait}"/>
<property name="Pool.PingQuery" value="select 1 as ISPINGWORKING from dual"/>
<property name="Pool.PingEnabled" value="${PingEnabled}"/>
<property name="Pool.PingConnectionsOlderThan" value="${PingConnectionsOlderThan}"/>
<property name="Pool.PingConnectionsNotUsedFor" value="${PingConnectionsNotUsedFor}"/>
</dataSource>
</transactionManager>
<sqlMap resource="sqlmap/sql/test.xml"/>
</sqlMapConfig>
11 在sqlmap下新文件夹sql,src/sqlmap/sql,建立test.xml
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE sqlMap SYSTEM "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="visitlog">
<typeAlias alias="visitlog"
type="com.test.VisitLogVO" />
<select id="selectinfo" parameterClass="visitlog"
resultClass="visitlog">
<![CDATA[
SELECT INDEXID,OPERATECODE,TABLENAME FROM VISITLOG
]]>
</select>
</sqlMap>
完工了,可以回到IbatisDaoImpl.class里测试下了
作者:linres QQ:386000628
2. 新建oracle实例oral,用户root,密码root,表visitlog
--访问日志表--
CREATE TABLE VisitLog (
IndexId NUMBER(10) NOT NULL,
OperateCode VARCHAR2(4) NOT NULL,
TableName VARCHAR2(10),
OperatorDesp VARCHAR2(100) NOT NULL,
OperatorAccount VARCHAR2(20),
OperatorTime DATE,
UserIp VARCHAR2(20) NOT NULL
)NOLOGGING;
ALTER TABLE VisitLog ADD CONSTRAINT PK_VisitLog_IndexId PRIMARY KEY (IndexId);
3 在d:目录下新建连接数据库的连接文件database.properties
####################################
# Database Connectivity Properties
####################################
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:oral
username=root
password=root
MaximumActiveConnections=20
MaximumIdleConnections=5
MaximumWait=60000
MaximumCheckoutTime=12000000
TimeToWait=5000
PingEnabled=false
PingConnectionsOlderThan=30000
PingConnectionsNotUsedFor=60000
4 新建webprobject项目ibatistest,新建包com.test
新建读取加载驱动类BatisManager.class
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.Reader;
import java.util.Properties;
import com.ibatis.common.resources.Resources;
import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.DaoManagerBuilder;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class BatisManager {
private static final String DAO_RESOURCE = "sqlmap/dao.xml";
private static final String SQL_RESOURCE = "sqlmap/sql-map-config.xml";
private static DaoManager daoManager;
private static SqlMapClient sqlMap;
private static String db_conf_path = null;
static {
}
public static DaoManager getDaomanager() {
return daoManager;
}
public static SqlMapClient getSqlMapInstance() {
return sqlMap;
}
public static Object getDaoObject(Class cls) {
return daoManager.getDao(cls);
}
public static Properties getDataBaseProp(String path) throws Exception {
Properties prop = null;
InputStream in = null;
try {
File f = new File(path);
in = new FileInputStream(f);
if (f.isFile())
prop = new Properties();
prop.load(in);
in.close();
} catch (Exception ex) {
System.out.println("The DataBase Config File Is Null Or False");
throw new Exception(
"Dont Read Correctly DataBase Config File,Please Check The File Path Or Content");
} finally {
in = null;
}
return prop;
}
public static void init(String db_conf_path) {
BatisManager.setDb_conf_path(db_conf_path);
try {
System.out.println("INFO: Starting To Load Dao Config File "
+ DAO_RESOURCE);
Reader reader = Resources.getResourceAsReader(DAO_RESOURCE);
Properties prop = null;
if (db_conf_path != null) {
prop = getDataBaseProp(db_conf_path);
daoManager = DaoManagerBuilder.buildDaoManager(reader, prop);
} else {
daoManager = DaoManagerBuilder.buildDaoManager(reader);
}
System.out.println("INFO: Load Dao Config File Success ");
System.out.println("INFO: Starting To Load Sql-Map Config File "
+ SQL_RESOURCE);
reader = Resources.getResourceAsReader(SQL_RESOURCE);
if (db_conf_path != null) {
prop = getDataBaseProp(db_conf_path);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader, prop);
} else {
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
}
System.out.println("INFO: Load Sql-Map Config File Success ");
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(
"Could not initialize DaoConfig. Cause: " + e);
}
}
public static String getDb_conf_path() {
return db_conf_path;
}
public static void setDb_conf_path(String db_conf_path) {
BatisManager.db_conf_path = db_conf_path;
}
}
5 新建ibatis类BaseSqlMapDao.class加载模板
package com.test;
import java.sql.Connection;
import com.ibatis.dao.client.DaoManager;
import com.ibatis.dao.client.template.SqlMapDaoTemplate;
public class BaseSqlMapDao extends SqlMapDaoTemplate {
protected static final int PAGE_SIZE = 4;
public BaseSqlMapDao(DaoManager daoManager) {
super(daoManager); //在Java中,this通常指当前对象,super则指父类的
}
public void setConnection(Connection conn) {
try {
this.getSqlMapTransactionManager().setUserConnection(conn);
} catch (Exception ex) {
System.out.println("BaseSqlMapDao.class Set connection error");
}
}
}
6 创建visitlog的VO类VisitLogVO
package com.test;
public class VisitLogVO {
private int INDEXID;
private String OPERATECODE;
private String TABLENAME;
public int getINDEXID() {
return INDEXID;
}
public void setINDEXID(int indexid) {
INDEXID = indexid;
}
public String getOPERATECODE() {
return OPERATECODE;
}
public void setOPERATECODE(String operatecode) {
OPERATECODE = operatecode;
}
public String getTABLENAME() {
return TABLENAME;
}
public void setTABLENAME(String tablename) {
TABLENAME = tablename;
}
}
7 新建DAO接口IIbatisDao
package com.test;
import java.util.List;
public interface IIbatisDao {
public List list(VisitLogVO vo);
}
8 Dao实现类IbatisDaoImpl.class
package com.test;
import java.util.List;
import com.ibatis.dao.client.DaoManager;
public class IbatisDaoImpl extends BaseSqlMapDao implements IIbatisDao {
public IbatisDaoImpl(DaoManager daoManager) {
super(daoManager);
}
private final static String SELECTINFO = "selectinfo";
public List list(VisitLogVO vo) {
List list=this.queryForList(SELECTINFO);
return list;
}
private static IIbatisDao _instance = null;
public synchronized static IIbatisDao instance() {
if (_instance == null) {
DaoManager daoManager = BatisManager.getDaomanager();
_instance = (IIbatisDao) daoManager.getDao(IIbatisDao.class);
}
return _instance;
}
public static void main(String[] args)
{
BatisManager.init("D:/database.properties");
IIbatisDao batis=(IIbatisDao)BatisManager.getDaoObject(IIbatisDao.class);
VisitLogVO vo=new VisitLogVO();
List<VisitLogVO> list=(List<VisitLogVO>)batis.list(vo);
System.out.println(list.size());
}
}
注:这里还不能测试,因为没有加裁查询和加载驱动的xml文件,最后再测!!!
9 在src目录下新sqlmap文件夹,src/sqlmap下新建src/sqlmap/dao.xml
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE daoConfig SYSTEM "http://www.ibatis.com/dtd/dao-2.dtd">
<daoConfig>
<context>
<transactionManager type="SQLMAP">
<property name="SqlMapConfigResource"
value="sqlmap/sql-map-config.xml" />
</transactionManager>
<dao interface="com.test.IIbatisDao" implementation="com.test.IbatisDaoImpl" />
</context>
</daoConfig>
10 在src/sqlmap下新建src/sqlmap/sql-map-config.xml
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE sqlMapConfig SYSTEM "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" enhancementEnabled="true" maxSessions="228" maxTransactions="128" maxRequests="1000"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property value="${driver}" name="JDBC.Driver"/>
<property value="${url}" name="JDBC.ConnectionURL"/>
<property value="${username}" name="JDBC.Username"/>
<property value="${password}" name="JDBC.Password"/>
<property name="JDBC.DefaultAutoCommit" value="true"/>
<property value="${MaximumActiveConnections}" name="Pool.MaximumActiveConnections"/>
<property value="${MaximumIdleConnections}" name="Pool.MaximumIdleConnections"/>
<property value="${MaximumWait}" name="Pool.MaximumWait"/>
<property name="Pool.MaximumCheckoutTime" value="${MaximumCheckoutTime}"/>
<property name="Pool.TimeToWait" value="${TimeToWait}"/>
<property name="Pool.PingQuery" value="select 1 as ISPINGWORKING from dual"/>
<property name="Pool.PingEnabled" value="${PingEnabled}"/>
<property name="Pool.PingConnectionsOlderThan" value="${PingConnectionsOlderThan}"/>
<property name="Pool.PingConnectionsNotUsedFor" value="${PingConnectionsNotUsedFor}"/>
</dataSource>
</transactionManager>
<sqlMap resource="sqlmap/sql/test.xml"/>
</sqlMapConfig>
11 在sqlmap下新文件夹sql,src/sqlmap/sql,建立test.xml
<?xml version="1.0" encoding="gb2312" standalone="no"?>
<!DOCTYPE sqlMap SYSTEM "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="visitlog">
<typeAlias alias="visitlog"
type="com.test.VisitLogVO" />
<select id="selectinfo" parameterClass="visitlog"
resultClass="visitlog">
<![CDATA[
SELECT INDEXID,OPERATECODE,TABLENAME FROM VISITLOG
]]>
</select>
</sqlMap>
完工了,可以回到IbatisDaoImpl.class里测试下了
作者:linres QQ:386000628
发表评论
-
晾晾多年珍藏
2010-01-29 16:21 1325在这里总会有你所需要的! 由于上传的限制在10M, ... -
struts2-plugin之jquery
2009-12-20 12:15 3258struts2很多人已经用过了,到网上google了下,用 ... -
Unable to load configuration. - bean - jar
2009-03-20 12:40 19389这段时间公司事情不多,就学习了下struts2,咱用mye ... -
Spring集成Struts、JSF、WebWork2
2008-12-06 16:08 16631、Spring集成Struts实例:假设用户对St ... -
Spring AOP学习笔记
2008-11-27 20:48 1146Ⅰ。Aspect Oriented ... -
SpringIOC容器管理bean
2008-11-13 12:11 12791、spring可以从官方站点下载:http://www. ... -
jms和jboss完美实例
2008-10-04 12:27 1245最近完成个项目是用到jms的,现在把原码和配置一一说明和大 ... -
IBATIS开发指南(夏昕)
2008-09-12 22:04 2549相对于Hibernate Apache OJ ... -
所有java人都要懂的问题
2008-07-30 11:20 12001 doGet和doPost的区别 G ... -
精通Servlet
2008-07-18 16:13 1407一、Servlet的特点 Servlet是Jav ... -
使用JavaMail发送文本型邮件
2008-07-04 18:05 1649文本型邮件是应用是广泛的一种邮件类型,本实例将使用J ... -
Struts的体系结构
2008-07-03 12:18 915关键字 Struts,Framework,Architect ... -
JDBC访问所有数据库的完整步骤
2008-07-03 11:55 10541 将数据库的JDBC驱动加载到classpath中,在基于J ...
相关推荐
一个Ibatis。net 的应用事例 数据库为oracle 用vs2008 导入即可使用。
ibatis3,对数据库的crud操作,用到了ibatis3的动态sql
操作数据库 iBATIS查询,java 和spring的配置方法
Ibatis连接ORACLE数据库的小例子
http://blog.csdn.net/alanchen520/article/details/34057279
本资源适合刚刚接触ibatis+oracle的小伙伴使用,欢迎交流,吐槽。
struts2+spring+ibatis+oracle+分页搜索+上传附件实例!完整版!
该示例演示使用iBATIS操纵Oracle、MySQL和MS SERVER三种数据库(实现查询与新增动作),只需要修改配置档与SQL影射档即可,而Java部分的代码不用修改。本人觉得,该框架一个非常简单、使用方便的持久层框架。其中:...
spring struts2 ibatis整合,sha1加密,oracle数据库。myeclipse直接导入即可。
使用ibatis+oracle完成简单的增删改查的例子,把源码导入myeclipse,修改链接数据库信息,数据库需要自己建立
利用ibatis访问oracle数据库的简单例子
ava struts2 + ibatis +oracle 整合简单登陆及增删改查实例
strust2+spring3+ibatis2 +oracle10g 完整整合框架,只要换个数据库连接和表名就可以运行,不像那些王八蛋骗人的,绝对可用
业务需要有很多表要创建相应的数据库pojo文件,mapper文件,和mapper.xml文件,再csdn资源上没有找到完整的maven项目,自己写了一个,直接用的,默认是,mysql,有用oracle的改下driverClass就可以了。 配置文件里的...
数据库组件ibatis对oracle数据库操作例子
SSI框架整合(Struts2.1+Spring3.0+Ibatis 2.3) 下载之后执行.sql文件创建表和sequence 项目访问路径 localhost:8888/SSI_Demo1 一个简单的例子(Oracle数据库增删改查示例) 用户的增删改查操作,适合初学者...
ibatIS链接oracle数据库需要的架包
数据库自己建一张简单的表就行了,特别说明 只适合新手入门 只有三个java文件和三个xml配置文件 非常简单 但是包含了crud操作 非常适合新手入门,因为项目经理让我熟悉一下ibatis 我就自学写了一个,希望对你有帮助
这是一个完整的oracle+ibatis小项目,适合是初学者参考和借鉴。里面有数据库和详细的开发步骤文档。乐意与大家分享。
ssi_struts2_spring_ibatis oracle数据库.增删改查分页 示例.有简单页面.好资料.!