1 在数据库中创建表请求权
create table FPP_TEST_USER (
id VARCHAR2(20) NOT NULL,
name VARCHAR2(40) NOT NULL,
password VARCHAR2(20) NOT NULL
)
2 在Eclipse中搭建环境
File-->new--->JavaProject 新建java项目HelloIbatis
右键项目名-->new-->folder 新建bin文件夹 把ibatis-common-2.jar,ibatis-dao-2.jar,ibatis-sqlmap-2.jar,ojdbc14.jar四个包加载到bin下
右键项目名-->Properties-->Java Build Path-->Libraries-->Add JARs 加载4个文件 -->ok
3 新建2个文件夹
1--存放配置文件 2--存放java类
1------------------
右键项目名-->new-->SourceFolder 新建是src/java文件夹 注update勾必须打上
2-------------------
同上 新建是src/resouce文件夹
4 加配置文件 在src/resouce下
{1}--------------sql-map-config.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>
<settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false" />
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver"
value="oracle.jdbc.driver.OracleDriver" />
<property name="JDBC.ConnectionURL"
value="jdbc:oracle:thin:@192.168.137.23:1521:unieap" />
<property name="JDBC.Username" value="tabuser" />
<property name="JDBC.Password" value="tabuser" />
<property name="Pool.MaximumActiveConnections" value="10" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from dual" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<sqlMap resource="user.xml" />
</sqlMapConfig>
{ 2}--------------user.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
<typeAlias alias="user" type="cm.neusoft.test.ibatis.pojo.User" /><!--引入pojo-->
<resultMap id="userinfo" class="user">
<result property="name" column="name"/>
<result property="password" column="password"/>
</resultMap>
<select id="getUser" parameterClass="java.lang.String"
resultClass="user">
<![CDATA[
SELECT id,name, password FROM FPP_TEST_USER
WHERE name = #name#
]]>
</select>
<update id="updateUser" parameterClass="user">
<![CDATA[
UPDATE FPP_TEST_USER SET name=#name#,password=#password#
WHERE id = #id#
]]>
</update>
<insert id="insertUser" parameterClass="user">
INSERT INTO FPP_TEST_USER (id, name, password) VALUES (#id#, #name#,
#password# )
</insert>
<delete id="deleteUser" parameterClass="java.lang.String">
DELETE FROM FPP_TEST_USER WHERE id = #value#
</delete>
</sqlMap>
6 在src/java下新建2个类
1---pojo
package cm.neusoft.test.ibatis.pojo;
/**
*
* <b>Application name:</b>JAVA275<br>
* <b>Application describing:</b> <br>
* <b>Copyright:</b>Copyright © 2012 东软 软件开发事业部版权所有。<br>
* <b>Company:</b>Neusoft<br>
* <b>Date:</b>2012-3-13<br>
* @author 韩超
* @version $Revision: 1.2 $
*/
public class User
{
private String id;
private String name;
private String password;
public String getId()
{
return id;
}
public void setId(String id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}
1---测试类
package cm.neusoft.test.ibatis.main;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import sun.misc.Resource;
import cm.neusoft.test.ibatis.pojo.User;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class Test
{
public static void main(String[] args)
{
String resource = "sql-map-config.xml";
SqlMapClient sqlMapClient = null;
try
{
Reader reader = Resources.getResourceAsReader(resource);
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
sqlMapClient.startTransaction();
// User user = new User();
//增加
// user.setId("1000");
// user.setName("韩超");
// user.setPassword("123456789");
// sqlMapClient.insert("insertUser", user);
//删除
// sqlMapClient.delete("deleteUser", "1000");
//修改
//sqlMapClient.update("updateUser", user);
//查询
User user = (User) sqlMapClient.queryForObject("getUser", "汗啊好呢");
System.out.println(user.getId()+" "+user.getName() +" "+user.getPassword());
//1.我们新插入一批数据,要求携带所有的五列(插入操作)
//2.对我们插入的重复的姓名的用用户只能保留每一个人的(删除操作)
//3.对我们表中用户ID号,为自己学习号的姓名进行修改,修改的新姓名的值为姓名加学号(修改操作)
//4.遍历结果集,对表中所有数据进行查看,将每个人的五个信息逐行打在控制台上(查询操作)
//5.查询所有的结果中的年龄一象,计算我们现在人员的平均年龄(查询操作)
System.out.println("Query user success!");
sqlMapClient.commitTransaction();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
注 ::::::在做更新的时候 先设setter后更新
项目图片