mybatis是一个基于java的持久层框架,主要用于做数据库的访问操作。
区别于jdbc的是可以将sql语句单独写出来然后引用便可以了,无需向jdbc那样每写一条sql语句就要写一遍jdbc的连接(加载驱动类、创建连接…..)
class.forName();
Connection conn=null;
PreparedStatement pstm=null;
try{
conn = JdbcUtil.getConnection();
String sql = "insert into table values(...)";
pstm = conn.prepareStatement(sql);
pstm.setXXX();
pstm.executeUpdate();
}catch(Exception e){
....
}finally{
JdbcUtil.close(null,pstm,null);
}
而mybatis提供了一个映射文件 mapper文件 以.xml为后缀;
<mapper namespace="包名.类名">
<insert id="方法名">
insert into table values(...)
</insert>
<update>
update 表名称 set 列名称 = 新值 where 列名称 = 某值
</update>
<select>
select * from table
</select>
</mapper>
xml文件里面的sql语句后面不需要加“;”分号
mybatis根据给定mapper文件自动生成对应的java实现类
配置
<?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" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="ibatis" />
<property name="password" value="ibatis" />
</dataSource>
</environment>
</environments>
</configuration>