赞
踩
只是简单直观的做一个区分。
在这篇Stack Overflow文章上写的非常清楚。mysql-connector-java是MySQL提供实现了JDBC定义的驱动(JDBC是一种规范,定义了Java语言如何去操作数据库,也就是实现相关API,是一种接口规范。mysql-connector-java是MySQL提供实现的JDBC定义的驱动),是Java程序中真正操作MySQL数据库的客户端。简单来说mysql-connector-java允许了通过Java访问MySQL。
// 代码来自上面提到的链接 // 这串代码也是早期我在学习JSP时Java操作MySQL的方式 Connection connection = null; Statement statement = null; ResultSet rs = null; int count; try { connection = dataSource.getConnection(); statement = connection.createStatement(); rs = statement.executeQuery("select count(*) from foo"); if(rs.next()) { count = rs.getInt(0); } } catch (SQLException exp) { throw new RuntimeException(exp); } finally { if(connection != null) { try { connection.close(); } catch (SQLException exp) {} } if(statement != null) { try { statement.close(); } catch (SQLException exp) {} } if(rs != null) { try { rs.close(); } catch (SQLException exp) {} } }
而spring-boot-starter-jdbc,是Spring提供的,它基于mysql-connector-java,又进行了封装,使得代码更加简单。
// 代码来自上面提到的链接
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
int count = jdbcTemplate.queryForObject("select count(*) from foo", Integer.class);
// 稍微复杂些的,代码来自下面提到的链接
public Book findBookInfo(String id) {
String sql = "select * from tb_book where id=?";
Book book = jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<Book>(Book.class), id);
return book;
}
也就是mysql-connector-java提供的是JDBC,而spring-boot-starter-jdbc提高了简化版的JDBC——JdbcTemplate。
我没有看到明确的文章说Mybatis比JdbcTemplate好的。下面就是Mybatisr的实现方式,更具我个人的感觉,比起JdbcTemplate,很明显要更简洁一些,SQL书写更舒服一些,并且SQL和接口分开在两个地方,方便写SQl,也更方便维护。甚至一些比较简单的SQL可以直接用@Select()
这类注解直接写在接口上。
@Mapper
@Repository
public interface LoginDao {
void insertUser(@Param("ID") String ID, @Param("password") String password, @Param("phone") String phone);
}
<mapper namespace="com.dao.LoginDao"> <insert id="insertUser"> INSERT INTO user(ID, phone, password) VALUES(#{ID}, #{phone}, #{password}); </insert> <select id="selectEquipment" resultType="Equipment"> SELECT * FROM equipment WHERE username = #{username} </select> </mapper>
这篇文章有三种方式代码的详细实现。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。