很多小伙伴都对java连接oracle数据库的操作弄的稀里糊涂,今天我就贴出终极版,一举解决所有的连接方式,中篇主要是解决利用ibatis的方式。我是小順,请大家关注我,我会给大家发更多的工具。
JAR包:
db.properties
oracle.driver=oracle.jdbc.driver.OracleDriver
oracle.url=jdbc:oracle:thin:@//1.1.1.1:1521/database
username=root
password=root
Person.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="Oracle">
<!-- Use primitive wrapper type (e.g. Integer) as parameter and allow results to
be auto-mapped results to Person object (Java Bean) properties -->
<select id="getUserMassage"
resultClass="com.edu.User">
SELECT
ID AS id,
NAME AS name,
AGE AS age
FROM
USER
WHERE
ENABLE = 1
</select>
</sqlMap>
User.java
package com.edu;
public class User {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
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="com/edu/db.properties" />
<settings
enhancementEnabled="false"
lazyLoadingEnabled="false"
/>
<transactionManager type="JDBC" >
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${oracle.driver}"/>
<property name="JDBC.ConnectionURL" value="${oracle.url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/edu/Person.xml" />
</sqlMapConfig>
SqlMapClient.java
package com.edu;
import java.io.Reader;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class SqlMapClient {
public static void main(String[] args) {
try {
com.ibatis.sqlmap.client.SqlMapClient sqlMap = null;
String resource = "com/edu/SQLMapConfig.xml";
Reader reader = Resources.getResourceAsReader (resource);
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
User person =(User)sqlMap.queryForObject("getUserMassage");
System.out.println(person.getId());
} catch (Exception e) {
e.printStackTrace();
}
}
}