Ibatis的环境搭建以及遇到的问题解决
- 新建Java项目IbatisTest,加入Mysql和ibatis的驱动包;
- 在数据库中新建一张表student表,添加字段sid、sname、major、birth;
- 在java项目中添加bean对象Student,新建一个IStudentDAOImpl接口,新建StudentDAO(实现IStudentDAOImpl接口)来操作数据库;
- 配置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 ="Ibatis/config/SqlMap.properties"/>
<settings
cacheModelsEnabled ="true" <!--cacheModelsEnabled是否启用缓存机制-->
lazyLoadingEnabled="true" <!--lazyLoadingEnabled是否启用延迟加载机制-->
enhancementEnabled="true" <!--enhancementEnabled是否启用字节码增强机制-->
errorTracingEnabled="true" <!--errorTracingEnabled是否启用错误处理机制-->
maxRequests="32" <!--maxRequests最大并发请求数-->
maxSessions="10" <!--maxSessions最大Session数-->
maxTransactions="5" <!--maxTransactions最大并发事务数-->
useStatementNamespaces="true"/><!--useStatementNamespaces是否启用名称空间-->
<transactionManager type ="JDBC"><!-- 定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) -->
<dataSource type ="SIMPLE"><!-- type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) -->
<property name ="JDBC.Driver" value="${driver}"/>
<property name ="JDBC.ConnectionURL" value="${url}"/>
<property name ="JDBC.Username" value="${username}"/>
<property name ="JDBC.Password" value="${password}"/>
<property name ="Pool.MaximumActiveConnections" value ="10"/><!--Pool.MaximumActiveConnections连接池维持的最大容量 -->
<property name ="Pool.MaximumIdleConnections" value ="5"/> <!--Pool.MaximumIdleConnections连接池允许挂起的最大连接 -->
<property name ="Pool.MaximumCheckoutTime" value ="120000"/> <!--Pool.MaximumCheckoutTime连接被某个任务所允许占用的最大时间 -->
<property name ="TimeToWait" value ="500"/> <!--TimeToWait线程允许等待的最大时间 -->
</dataSource >
</transactionManager >
<sqlMap resource ="Ibatis/Map/Student.xml"/>
</sqlMapConfig >注:(1)这里为了便于后期便于修改数据库的配置,添加了一个配置数据库信息的属性文件;
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/test
username=root
password =root(2)由于ibatis要求xml文件中几个主要的结点按顺序排放,不然在解析xml的时候会报错。
- 配置数据库映射文件Student.xml;
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd" >
<sqlMap>
<typeAlias alias ="Student" type="Ibatis.model.Student"/> <select id="selectAllStudent" resultClass="Student">
select * from student
</select> <select id="queryStudentById" parameterClass="int" resultClass="Student">
select * from student where sid =#sid#
</select> <select id="queryStudentByName" parameterClass="String" resultClass="Student">
select * from student where sname like '%$sname$%'
</select> <insert id="insertStudent" parameterClass="Student">
insert into Student (sname,major,birth) values(#sname#,#major#,#birth#)
</insert> <delete id="deleteStudentbyId" parameterClass="int">
delete from student where sid = #sid#
</delete> <update id="updateStudent" parameterClass = "Student">
update student set sname=#sname#,major=#major#,birth=#birth#
</update>
</sqlMap>
Ibatis的环境搭建以及遇到的问题解决的更多相关文章
- robot_framewok自动化测试--(1)Robot Framework 环境搭建及常见日志问题解决办法
一.Robot Framework 介绍 Robot Framework 的架构是一个通用的验收测试和验收测试驱动开发的自动化测试框架(ATDD).它具有易于使用的表格来组织测试过程和测试数据. 它使 ...
- CC2B本地环境搭建步骤及部署问题解决
由于最近的项目是之前没接触过的netbeans+glassfish,记录一下最近在工作中搭建本地环境的步骤及遇到的一些问题解决方法: 1.配置java jdk 此过程中遇到一个问题就是在配置系统环境变 ...
- windows下angularJs环境搭建和遇到的问题解决
搭建本地开发环境 angular官网社区上说:你应该在自己的电脑上本地开发... 你也应该在本地环境学习 Angular. 本人也认为在本地搭建学习环境--靠谱.所以决定尝试一下. 安照中文社区给的步 ...
- ibatis 开发中的经验 (三)Struts+Spring+Ibatis 开发环境搭建
ibatis项目中用到了一些基本配置,须要和spring集成,看了看这些配置大部分同hibernate中是一样的,也比較好理解.仅仅是须要他们的配置中每个类的含义,还有当中的一些细节 ...
- springmvc环境搭建以及常见问题解决
1.新建maven工程 a) 打开eclipse,file->new->project->Maven->Maven Project b) 下一步 c) 选择创建的工程为 ...
- Android开发环境搭建及常见问题解决方法
转自: http://www.cnblogs.com/rwxwsblog/p/4769785.html 在移动互联网的时代,Android的份额早已超过了苹果.Android的出现无疑加速了移动互联网 ...
- Selenium+Python自动化测试环境搭建和搭建过程遇到的问题解决
环境搭建: 第一步:安装Python 网址:https://www.python.org/ 按照如图提示安装,并且配置环境变量(安装时候选中pip会自动安装Python的包管理工具 pip,推荐选择 ...
- Appium环境搭建及“fn must be a function”问题解决
由于appium在线安装比较困难,大多数应该是由于FQ造成的吧,索性直接下载appium安装包:http://pan.baidu.com/s/1bpfrvjD nodejs下载也很缓慢,现提供node ...
- 问题解决: PythonStudy 环境搭建
环境搭建的时候遇到问题 参见帖子: http://www.xitongcheng.com/jiaocheng/dnrj_article_24923.html 虚拟机运行的时候会遇到 最近有用户发现在电 ...
随机推荐
- css font-weight原理
为什么要记录一下?因为今天我要设置一个字符加粗,然后就用font-weight:200,没有任何效果.现在看来很可笑,400才相当于normal,200怎么加粗,奇怪的是也没有变细.所以得研究一下fo ...
- 第16章 调色板管理器_16.4 一个DIB位图库的实现(2)
//接上一篇 //DibPal.h /*----------------------------------------------------------------- DIBPAL.H heade ...
- AC日记——单词替换 1.7 21
21:单词替换 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个字符串,以回车结束(字符串长度<=100).该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区 ...
- UWP数据绑定
[ 已针对 Windows 10 上的 UWP 应用更新. 有关 Windows 8.x 文章,请参阅存档 ] 数据绑定是你的应用 UI 用来显示数据的一种方法,可以选择与该数据保持同步. 借助数据绑 ...
- HTML常用标签跟表格
<html> --开始标签 <head> 网页上的控制信息 <title>页面标题</title> </head> <body& ...
- AndroidStudio 混淆打包
AndroidStudio中的项目可以用compile的形式引入github上的开 源项目,可以引用module,而不一定都要用libs文件夹中添加jar包的形式.在最终realease打包时,混淆的 ...
- TRIM函数
Trim() 删除字符串首尾的空白(可以首尾一起,也可以指定首或尾,取决于控制参数),但会保留字符串内部作为词与词之间分隔的空格.
- JLOI2016 方
bzoj4558 真是一道非常excited的题目啊-JLOI有毒 题目大意:给一个(N+1)*(M+1)的网格图,格点坐标为(0~N,0~M),现在挖去了K个点,求剩下多少个正方形(需要注意的是正方 ...
- ubuntu14.04安装sipp3.2
本来在centos里不好装的软件,往往ubuntu里会很好装,但sipp恰恰相反,ubuntu里能装死你. 做VOIP测试的话,有时候为了模拟通话中更好的抓包,在环境简陋,又不想使用集线器引起广播风暴 ...
- 迭代器和for-of循环 顺便带一下Es5中的.map遍历
let set = new Set(); //set方法去除重复的数据 [1, 2, 3, 4, 2, 8, 4].map(function (elem) { set.add(elem); //遍历完 ...