一个简单的Ibatis配置文件(非企业开发)
数据库配置文件:
sqlMap.properties
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
username=zhanqiong
password=zhanqiong
属性文件:
student.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap>
<resultMap>
<result column="sid" property="id"/>
<result column="sname" property="userName"/>
<result column="major" property="major"/>
<result column="birth" property="birth"/>
<result column="score" property="score"/>
</resultMap>
<typeAlias alias="student" type="com.koubei.Student"/>
//查询所有学生
<select id="selectAllStudent" resultClass="student">
select * from student
</student>
//根据Id查询指定的学生
<select id="selectStudentById" parameterClass="int" resultClass="student">
select *
from student
where sid=#sid#
</select>
//模糊查询
<select id="selectStudentByName" parameterClass="String" resultClass="student">
select sid,sname,major,birth,score
from Student
where sname like '$sname$'
</select>
//插入学生
<insert id="insertStudent" parameterClass="Student">
insert into Student(
sid,
sname,
major,
score,
birth)
values(
#sid#,#sname#,#major#,#score#,#birth#)
</insert>
//利用主键生成策略插入指定的学生
<insert id="insertStudentBySequence" parameterClass="Student">
<selectKey resultClass="int" keyProperty="sid">
select studentPKSequence.nextVal as sid from dual
</selectKey>
insert into Student(
sid,
sname,
major,
score,
birth
)
values(
#sid#,#sname#,#major#,#score#,#birth#)
</insert>
//删除学生
<delete id="deleteStudentById" parameterClass="int">
delete from Student where sid = #sid#
</delete>
//更新学生
<update id="updateStudentById" parameterClass="Student">
update Student
set
major=#major#,
sname=#sname#,
birth=#birth#,
score=#score#
where
sid=#sid#
</update>
</sqlMap>
总配置文件:
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>
<settings cacheModelsEnabled="false" enhancementEnabled="true"
lazyLoadingEnabled="false" errorTracingEnabled="true" maxRequests="400"
maxSessions="40" maxTransactions="32" useStatementNamespaces="true" />
<properties resource="SqlMap.properties"/>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${driver}"/>
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/mydomain/data/Student.xml"/>
</sqlMapConfig>