后台持久层,网上查了一下,主流的有以下:
spring jdbc
MyBatis
hibernate
优缺点大家网上查一下吧,这个是仁见仁智的问题,不同的项目规模也会有不同的选择。不过对我来说,比较喜欢MyBatis,比较强大,但不失灵活。
MyBatis网站文档在此,中文版的http://mybatis.github.io/mybatis-3/zh/index.html
Oracle的JDBC要从官网下,可加到Maven本地库中,我是直接建的个User Library,加到项目中的。
1、Mybatis的Maven配置
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.6</version> </dependency>
后面发现,为了版本好管理,可以在pom.xml中配置参数,这样当有相同的jar版本统一升级时比较方便
<properties>
<org.springframework-version>
4.0.2.RELEASE
</org.springframework-version>
<org.mybatis-version>
3.2.6
</org.mybatis-version>
</properties>
就可以这样子配置
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${org.mybatis-version}</version>
</dependency>
OK,可以看到自动下载对应版本的jar了
MyBatis具体的介绍就不赘述了,请查官网资料,记录一下相关的配置和测试内容
1、新建配置文件
数据库中先建一个用户。
xml中先建立一个数据源,mappers配置后面再来。
<?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">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:XE" />
<property name="username" value="MyBatis" />
<property name="password" value="MyBatis" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- <mapper resource="user.xml" /> -->
</mappers>
</configuration>
在src/test/java中,建个Test类测试一下:
package mybatistest;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class Test {
public static void main(String[] args) {
String resource = "mybatis-configuration.xml";
try {
//方式一(官网)
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);
//方式二
// SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
// .build(Test.class.getResource("/mybatis-configuration.xml").openStream());
//测试用,因还没有Mapper,就随便commit一下
sqlSessionFactory.openSession().commit();
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行一下,不报错,就说明引用的包、与数据库连接和MyBatis的最基本配置OK了。
后面开始学Mapper,就要涉及到整个后端的结构了。对于结构而言,面向接口编程就很重要了,还好多年的C/S编程经验,这个很好理解,也一直是在自己的开发中使用面向接口的方式,当然spring的注入方式就更加灵活了(这块都是N年前初略看了一下,还有点点映象,本次学习肯定会直接学习这些高级的、优秀的东东)。