相信我的配置大家应该是不会很在意,可是我还是要分享出来,让一些刚刚进入我们这个领域的新手充分了解,更快入门
首先,用百度搜索下载开发包(jar文件),我这里用的开发包全名为
1>struts1.2,此包采用Myeclipse自动添加功能,只要在项目上点击鼠标右键,载弹出的菜单中寻找MyEclipse->Add Struts Capabilities... 添加Struts开发包,这方面网上很多,不再赘述
2>ibatis2.3.0.677.jar ibatis开发包
3>ojdbc14.jar oracle11g驱动包,我这里用的是oracle11g,这个包好像对10也有效,该包可以从oracle下载的文件某个名称为jdbc的文件夹中寻找到,可以利用windows的搜索功能
4>log4j-1.2.15.jar 可选开发包,用来进行日志记录
安装和配置weblogic
这个对于初学者来说,最好默认端口的设置,整个安装和配置过程用百度很容易搜索到,我个人用的是Weblogic92,推荐大家采用9以上的版本,因为目前都是采用Eclipse开发,而如果采用9一下的,Eclipse的deploy后,无法直接加载到应用服务器的可执行文件夹重,也即无法立即运行更改结果。最需要注意的就是当weblogic提示选择JDK版本的时候需要选择它给的默认的版本,不能选择自己安装的(鄙视一下weblogic)
安装oracle11g
首先,强烈建议大家去oracle的官方网站上下载,我用的是oracle11g,安装过程几乎没有可能存在的问题,整个过程也很容易搜索到
好了,整个安装过程几乎没什么说得,因为他们载网上都很容易百度到一大堆(相信没人不会用百度吧-_-||)
下边是配置,这里只把配置过程中几个容易出错的地方提出来,不足请补充
1.Myeclipse6.5配置Weblogic92
从工具栏选择Myeclipse-->preferences...-->Myeclipse enterprise workbench-->servers-->weblogic-->weblogic9.x
而后,选择jdk,把刚才安装和配置weblogic的时候默认的jdk路径选择进去,如果没有,就自己添加一个;下边所有将要用到的包都要通过paths添加入weblogic中
2.ibatis配置过程
这里仅仅需要把ibatis开发包添加入工程即可,需要注意,建立对数据库的连接文件的时候,必须以<sqlMapConfig>标签开始和结束。该文件所处的位置无所谓
3.。。。。。。其实也没有其他的了,至于log4j,这个就不需要我在这里班门弄斧了,我是个菜鸟,我最大的希望就是把自己走过的弯路告诉大家,让大家都能尽快进入开发,谢谢!
11 个解决方案
#1
学问甚少,精神可佳
#2
Good!
#3
支持。
#4
首先谢谢各位的鼓励, 我仅仅是个新手,不过我就是觉得现在很多自己会的东西不愿意交给别人,看着别人着急的样子来满足自己那变态的快感,鄙视一下
刚才我把ibatis和oracle11的存储过程连接成功,特此发布配置方法:
1.oracle的存储过程很有意思,它不允许无用的语句存在,例如select,如果这个查询的结果没有用到,则就会提示缺少InTO的错误
2.配置xml文件,
<parameterMap id="searchParam" class="java.util.Map">
<parameter property="id" mode="IN"/>
<parameter property="myname" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>
<procedure id="searchProcedure" parameterMap="searchParam" >
{call ibatisprocess(? ,?)}
</procedure>
可以看到,参数传递和结果获取都是采用的一个Map来做到,其中,OUT参数需要指定jdbcType,至于property的指定,我载下边将提到其需要注意的内容
3.配置访问
public void selectUserWithProcedure() throws SQLException {
Map<String,String> map=new HashMap<String,String>(1);
map.put("id", “111");
map.put("myname", new String(""));
try {
sqlMapper.startTransaction();
sqlMapper.queryForObject("searchProcedure", map);
} catch (SQLException e) {
e.printStackTrace();
} finally {
sqlMapper.endTransaction();
}
System.out.println(map.get("myname"));
}
大家可以看到,载创建map的时候使用了泛型,一般情况下请指定,不知道为什么,如果不指定就会出现“列类型不存在”的提示,希望高手予以作答,谢谢!
其中map.put(),大家可以自己试验到底哪种格式适合自己。另外需要注意HashMap后是(1),这个1表示传入参数的个数,也就是IN 类型参数的个数,而不包括OUT类型参数。
呵呵,好了,就写到这里吧,就这么个简单的东西,我弄了1天。。。
刚才我把ibatis和oracle11的存储过程连接成功,特此发布配置方法:
1.oracle的存储过程很有意思,它不允许无用的语句存在,例如select,如果这个查询的结果没有用到,则就会提示缺少InTO的错误
2.配置xml文件,
<parameterMap id="searchParam" class="java.util.Map">
<parameter property="id" mode="IN"/>
<parameter property="myname" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>
<procedure id="searchProcedure" parameterMap="searchParam" >
{call ibatisprocess(? ,?)}
</procedure>
可以看到,参数传递和结果获取都是采用的一个Map来做到,其中,OUT参数需要指定jdbcType,至于property的指定,我载下边将提到其需要注意的内容
3.配置访问
public void selectUserWithProcedure() throws SQLException {
Map<String,String> map=new HashMap<String,String>(1);
map.put("id", “111");
map.put("myname", new String(""));
try {
sqlMapper.startTransaction();
sqlMapper.queryForObject("searchProcedure", map);
} catch (SQLException e) {
e.printStackTrace();
} finally {
sqlMapper.endTransaction();
}
System.out.println(map.get("myname"));
}
大家可以看到,载创建map的时候使用了泛型,一般情况下请指定,不知道为什么,如果不指定就会出现“列类型不存在”的提示,希望高手予以作答,谢谢!
其中map.put(),大家可以自己试验到底哪种格式适合自己。另外需要注意HashMap后是(1),这个1表示传入参数的个数,也就是IN 类型参数的个数,而不包括OUT类型参数。
呵呵,好了,就写到这里吧,就这么个简单的东西,我弄了1天。。。
#5
另外大家千万注意,jdbcType="VARCHAR"中间是VARCHAR,不是VARCHAR2啊~~~
如果写成VARCHAR2会报“列类型不存在”
如果写成VARCHAR2会报“列类型不存在”
#6
还有,注意xml中的property要和map的key对应啊!!!(似乎多余,后来想了想,万一有人搞错了,岂不浪费时间)
#7
精神可嘉
#8
谢谢各位鼓励,结贴~~!
#9
楼主谢谢
#10
mark楼主好人啊
#11
谢谢楼主
#1
学问甚少,精神可佳
#2
Good!
#3
支持。
#4
首先谢谢各位的鼓励, 我仅仅是个新手,不过我就是觉得现在很多自己会的东西不愿意交给别人,看着别人着急的样子来满足自己那变态的快感,鄙视一下
刚才我把ibatis和oracle11的存储过程连接成功,特此发布配置方法:
1.oracle的存储过程很有意思,它不允许无用的语句存在,例如select,如果这个查询的结果没有用到,则就会提示缺少InTO的错误
2.配置xml文件,
<parameterMap id="searchParam" class="java.util.Map">
<parameter property="id" mode="IN"/>
<parameter property="myname" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>
<procedure id="searchProcedure" parameterMap="searchParam" >
{call ibatisprocess(? ,?)}
</procedure>
可以看到,参数传递和结果获取都是采用的一个Map来做到,其中,OUT参数需要指定jdbcType,至于property的指定,我载下边将提到其需要注意的内容
3.配置访问
public void selectUserWithProcedure() throws SQLException {
Map<String,String> map=new HashMap<String,String>(1);
map.put("id", “111");
map.put("myname", new String(""));
try {
sqlMapper.startTransaction();
sqlMapper.queryForObject("searchProcedure", map);
} catch (SQLException e) {
e.printStackTrace();
} finally {
sqlMapper.endTransaction();
}
System.out.println(map.get("myname"));
}
大家可以看到,载创建map的时候使用了泛型,一般情况下请指定,不知道为什么,如果不指定就会出现“列类型不存在”的提示,希望高手予以作答,谢谢!
其中map.put(),大家可以自己试验到底哪种格式适合自己。另外需要注意HashMap后是(1),这个1表示传入参数的个数,也就是IN 类型参数的个数,而不包括OUT类型参数。
呵呵,好了,就写到这里吧,就这么个简单的东西,我弄了1天。。。
刚才我把ibatis和oracle11的存储过程连接成功,特此发布配置方法:
1.oracle的存储过程很有意思,它不允许无用的语句存在,例如select,如果这个查询的结果没有用到,则就会提示缺少InTO的错误
2.配置xml文件,
<parameterMap id="searchParam" class="java.util.Map">
<parameter property="id" mode="IN"/>
<parameter property="myname" jdbcType="VARCHAR" mode="OUT"/>
</parameterMap>
<procedure id="searchProcedure" parameterMap="searchParam" >
{call ibatisprocess(? ,?)}
</procedure>
可以看到,参数传递和结果获取都是采用的一个Map来做到,其中,OUT参数需要指定jdbcType,至于property的指定,我载下边将提到其需要注意的内容
3.配置访问
public void selectUserWithProcedure() throws SQLException {
Map<String,String> map=new HashMap<String,String>(1);
map.put("id", “111");
map.put("myname", new String(""));
try {
sqlMapper.startTransaction();
sqlMapper.queryForObject("searchProcedure", map);
} catch (SQLException e) {
e.printStackTrace();
} finally {
sqlMapper.endTransaction();
}
System.out.println(map.get("myname"));
}
大家可以看到,载创建map的时候使用了泛型,一般情况下请指定,不知道为什么,如果不指定就会出现“列类型不存在”的提示,希望高手予以作答,谢谢!
其中map.put(),大家可以自己试验到底哪种格式适合自己。另外需要注意HashMap后是(1),这个1表示传入参数的个数,也就是IN 类型参数的个数,而不包括OUT类型参数。
呵呵,好了,就写到这里吧,就这么个简单的东西,我弄了1天。。。
#5
另外大家千万注意,jdbcType="VARCHAR"中间是VARCHAR,不是VARCHAR2啊~~~
如果写成VARCHAR2会报“列类型不存在”
如果写成VARCHAR2会报“列类型不存在”
#6
还有,注意xml中的property要和map的key对应啊!!!(似乎多余,后来想了想,万一有人搞错了,岂不浪费时间)
#7
精神可嘉
#8
谢谢各位鼓励,结贴~~!
#9
楼主谢谢
#10
mark楼主好人啊
#11
谢谢楼主