1.xml配置中的数据源配置修改
<!--数据源-链接数据库的基本信息,这里直接写,不放到*.properties资源文件中-->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="username" value="root" />
<property name="password" value="root" /> -->
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:orcl" />
<property name="username" value="test" />
<property name="password" value="test" />
</bean>
2.下载ojdbc的jar包放到项目的WEB-INF的lib下。
地址:http://www.java2s.com/Code/Jar/o/ojdbc6.htm
3.mybatis中对oracle数据库的like模糊查询
在oracle中的concat不支持三个参数,如CONCAT('%',#{studentName},'%'),应改为CONCAT(CONCAT('%',#{customerName}),'%')
4.mybatis中传入多个参数
<resultMap id="Customer" type="cn.m.user.entity.Customer">
<result column="CUSTOMERNAME" property="customerName" jdbcType="VARCHAR" />
<result column="CUSTOMERADDRESS" property="customerAddress" jdbcType="VARCHAR" />
</resultMap>
<select id="selectUser" resultMap="Customer">
select * from user_user_t where user_name = #{0} and user_area=#{1}
</select>
其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。其中类型不同都不影响,比如上面的user_name如果是String而user_area是int都没问题。
5.xml文件中的转义符
&(逻辑与) &
<(小于) <
>(大于) >
"(双引号) "
'(单引号) '
6.oracle的分页查询
第一种方法:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 10
)
WHERE RN >= 1
其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 10和RN >= 1控制分页查询的每页的范围。在查询的第二层通过ROWNUM <= 40来控制最大值,在查询的最外层控制最小值。
第二种方法:
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN BETWEEN 1 AND 10
这种方式是去掉查询第二层的WHERE ROWNUM <= 10语句,在查询的最外层控制分页的最小值和最大值。
绝大多数的情况下,第一个查询的效率比第二个高得多。