环境
- 挂载于VMware虚拟机下的远程Oracle数据库
- product 产品表
- 简单查询 findAll 操作
创建表
CREATE TABLE product(
id varchar2(32) default SYS_GUID() PRIMARY KEY,
productNum VARCHAR2(50) NOT NULL,
productName VARCHAR2(50),
cityName VARCHAR2(50),
DepartureTime timestamp,
productPrice Number,
productDesc VARCHAR2(500),
productStatus INT,
CONSTRAINT product UNIQUE (id, productNum)
)
insert into PRODUCT (id, productnum, productname, cityname, departuretime, productprice,
productdesc, productstatus)
values ('676C5BD1D35E429A8C2E114939C5685A', 'itcast-002', '北京三日游', '北京', to_timestamp('10-
10-2018 10:10:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff'), 1200, '不错的旅行', 1);
insert into PRODUCT (id, productnum, productname, cityname, departuretime, productprice,
productdesc, productstatus)
values ('12B7ABF2A4C544568B0A7C69F36BF8B7', 'itcast-003', '上海五日游', '上海', to_timestamp('25-
04-2018 14:30:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff'), 1800, '魔都我来了', 0);
insert into PRODUCT (id, productnum, productname, cityname, departuretime, productprice,
productdesc, productstatus)
values ('9F71F01CB448476DAFB309AA6DF9497F', 'itcast-001', '北京三日游', '北京', to_timestamp('10-
10-2018 10:10:00.000000', 'dd-mm-yyyy hh24:mi:ss.ff'), 1200, '不错的旅行', 1);
pom.xml
参考以前的章节
【Mybatis 】(一)入门案例内有连接MySQL的依赖
【SSM】三、maven环境整合ssm(上)内有连接Oracle的依赖
<properties>
<mybatis.version>3.4.5</mybatis.version>
<oracle.version>10.2.0.4.0</oracle.version>
</properties>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>${oracle.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13-beta-3</version>
<scope>test</scope>
</dependency>
实体类
/**
* 产品信息
*/
public class Product {
private String id; // 主键
private String productNum; // 编号 唯一
private String productName; // 名称
private String cityName; // 出发城市
private Date departureTime; // 出发时间
private String departureTimeStr;
private double productPrice; // 产品价格
private String productDesc; // 产品描述
private Integer productStatus; // 状态 0 关闭 1 开启
private String productStatusStr;
}
持久层接口
public interface IProductDao {
/**
* 查询所有的产品信息
*/
@Select("select * from product")
public List<Product> findAll() throws Exception;
}
SqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--mybaits的主配置文件-->
<configuration>
<!--配置环境-->
<environments default="oracle">
<!--配置mysql环境-->
<environment id="oracle">
<!--配置事务类型-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源(连接池)-->
<dataSource type="POOLED">
<!--配置数据源(连接池)的基本信息-->
<property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@192.168.80.10:1521:orcl"/>
<property name="username" value="ssm"/>
<property name="password" value="itcast"/>
</dataSource>
</environment>
</environments>
<!--指定映射配置文件的位置,映射配置文件指的是每个dao配置的文件-->
<mappers>
<!-- <mapper resource="code/dao/IUserDao.xml"/> <!– 使用的是xml–>-->
<mapper class="code.dao.IProductDao"/> <!--使用的是注解 annotations-->
</mappers>
</configuration>
测试类
public class TestDao {
@Test
public void test1() throws Exception {
// 1.读取配置文件
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
//2.创建者模式创建工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
//3. 工厂模式生成 SqlSession
SqlSession sqlSession = factory.openSession();
//4.代理模式生成dao
IProductDao dao = sqlSession.getMapper(IProductDao.class);
//5.调用方法
List<Product> products = dao.findAll();
//6.输出结果
for (Product product : products){
System.out.println(product);
}
}
}