mybatis框架学习:

一、什么是框架

  它是我们软件开发中的一套解决方案,不同的框架解决的是不同的问题

  使用框架的好处:

        框架封装了很多的细节,使开发者可以使用极简的方式实现功能

大大提高开发效率

二、三层框架

  表现层:

    用于展示数据

  业务层:

    是处理业务需求

  持久层:

    是和数据库交互的

三、持久层技术解决方案

  JDBC技术:

      Connection

      PreparedStatement

      ResultSet

  Spring的JdbcTemplate

      Spring中对jdbc的简单封装

  Apache的DBUtils:

      它和Spring的JdbcTemplate很像,也是对Jdbc的简单封装

  以上这些都不是框架

      JDBC是规范

      Spring 的JdbcTemplate和Apache的DBUtils都只是工具类

jdbc编程回顾:(不使用工具包)

 1 public class demo {
 2 
 3     public static void main(String[] args) {
 4 
 5         Connection connection = null;
 6         PreparedStatement preparedStatement = null;
 7         ResultSet resultSet = null;
 8         
 9         try {
10             //加载数据库驱动
11             Class.forName("com.mysql.jdbc.Driver");
12             //通过驱动管理类获取数据库连接
13             connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root","root");
14             //定义sql语句  ?表示占位符
15             String sql = "select * from user where username = ?";
16             //获取预处理statement
17             preparedStatement = connection.prepareStatement(sql);
18             //设置参数,第一个参数为sql语句中参数的序号(从1开始),第二个参数为设置的参数值
19             preparedStatement.setString(1,"飞猪");
20             //向数据库发出sql执行查询,查询出结果集
21             resultSet = preparedStatement.executeQuery();
22             //遍历查询结果集
23             while (resultSet.next()){
24                 System.out.println(resultSet.getString("id")+""+resultSet.getString("username"));
25             }
26             
27         } catch (ClassNotFoundException e) {
28             e.printStackTrace();
29         } catch (SQLException e) {
30             e.printStackTrace();
31         }finally {
32             //释放资源
33             if (resultSet != null){
34                 try {
35                     resultSet.close();
36                 } catch (SQLException e) {
37                     e.printStackTrace();
38                 }
39             }
40             if (preparedStatement != null){
41                 try {
42                     preparedStatement.close();
43                 } catch (SQLException e) {
44                     e.printStackTrace();
45                 }
46             }
47             if (connection != null){
48                 try {
49                     connection.close();
50                 } catch (SQLException e) {
51                     e.printStackTrace();
52                 }
53             }
54         }
55     }
56 }

猜你喜欢

转载自www.cnblogs.com/flypig666/p/11482810.html