MyBatis与JDBC的对比
1 //JDBC的步骤,1.加载驱动。2.获取连接。3.执行sql语句。4.处理结果集。5.关闭资源 2 Class.forName("com.mysql.jdbc.Driver").newInstance(); 3 Connection conn=DrivateManager.getConnection(url,username,password); 4 java.sql.PrepareStatement st=conn.prepareStatement(sql); 5 st.setInt(0,1); 6 st.execute(); 7 java.sql.ResultSet rs=st.getResultSet(); 8 while(rs.next()){ 9 String resultString=getString(columnname); 10 } 11 //MyBatis的mapper配置文件 12 <mapper namespace="com.dao.UserMapper"> 13 <select ifd="getList" resulType="user" parameterType="user"> 14 select * from user 15 </select> 16 </mapper>
17 18 MyBatis是将JDBC的几行代码分解包装 19 2,3行:是对数据库的数据源的管理包括事务管理 20 4,5行:Mybatis通过配置文件来管理Sql以及输入参数的映射 21 7,8,9行:Mybatis获取返回结果到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">
<!--通过这个配置文件,完成mybatis与数据库的连接 -->
<configuration>
<!-- 引入database.properties文件 -->
<properties resource="database.properties"/>
<environments default="development">
<environment id="development">
<!-- 配置事务管理 ,采用JDBC管理事务-->
<transactionManager type="JDBC"/>
<!-- POOLED是mybatis的 数据源 -->
<!-- JNDI是基于tomcat的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- resource要写成路径 -->
<mapper resource="com/wu/dao/UserMapper.xml"/>
<package name=""/>
</mappers>
</configuration>