2016.5.23 Mybatis 框架(二) 原生态jdbc程序 问题总结

jdbc程序

1. 创建JAVA工程 加入jar包

数据库驱动包(mysql)

其实只需要上边的驱动包,因为用的是 Mysql ,一般版本不是问题 ,本机是mysql 5.6

下边的是oracle 驱动包

2. 创建 jdbcTest工程

 1 package cn.itcast.mybatis.jdbc;
 2
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 import java.sql.SQLException;
 8
 9
10 public class jdbcTest {
11     public static void main(String[] args) throws SQLException{
12         //数据库链接
13         Connection connection =null;
14         //预编译的 statement   , 使用预编译 以提高数据库性能
15         PreparedStatement preparedStatement = null;
16         //结果集
17         ResultSet resultSet=null;
18
19         try{
20             //加载数据库驱动
21             Class.forName("com.mysql.jdbc.Driver");
22
23             connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8","root","");
24             String sql = "select * from user where username = ? and id = ?";
25             preparedStatement = connection.prepareStatement(sql);
26
27             preparedStatement.setString(1, "王五");
28             preparedStatement.setString(2, "1");
29
30             resultSet = preparedStatement.executeQuery();
31
32             while(resultSet.next()){
33                 System.out.println(resultSet.getString("id")+resultSet.getString("username"));
34             }
35         }catch(Exception e){
36             e.printStackTrace();
37         }finally{
38             resultSet.close();
39             preparedStatement.close();
40             connection.close();
41         }
42     }
43 }

3. jdbc使用 驱动

jdbc全称是什么?

Java DataBase Connectivity

即是java的数据库连接 建立

那么所需3个方面

1> 建立的链接 对象                          Connection connection

2> 建立的预编译 statement声明 对象  PreparedStatement preparedStatement

3>查询到的结果集对象                       ResultSet resultSet

接下来是 如何使用 jdbc 进行数据库链接 和操作的过程

1> 加载驱动 Class.forname(com.mysql.jdbc.Driver);

在驱动包中找到 Driver.class文件   copy qualifiedname 即可

2>为链接connection 赋值url+端口

conneciton = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","test","");

格式为 jdbc:数据库类型名://地址:端口/数据库名    username   userpassword

3>定义  所要执行的sql语句 是什么

String sql ="select * from user where username = ? and id= ?"

站位符 "?"  的作用即是  保留字段  由待会的提交 值保存

preparedStatement.setString(index,"value");

第一个是第几个问号   第二个是存入值

实际上 替代? 的形式 ‘value‘  所以显然不能替代 一些如 column 的属性名

4> 执行这个预编译  返回结果集

resultSet = preparedStatement.executeQuerry();

结果集中输入相应 column属性 即可获得查询值

resultSet.getstring("id")

5>释放资源

顺序倒过来: resultSet.close()      preparedStatement.close()   connection.close()

4. 原生态jdbc问题 :

1> 数据库连接, 使用时创建 不使用立即释放,对数据库频繁连接 和关闭, 造成数据资源浪费 影响数据库性能

何解——>  数据库连接池

2> sql语句在java代码中, 这是硬编码的方式, 如果sql语句修改,需要重新编译java代码,

preparedStatement 中设置参数,同样硬编码在java代码中

何解——> SQL语句、占位符等变量  放在xml文件中配置

3> 结果集中 resultSet 依然是硬编码 获取表的字段

何解——> 将查询的结果集  自动映射为java对象

时间: 2024-11-02 23:42:53

2016.5.23 Mybatis 框架(二) 原生态jdbc程序 问题总结的相关文章

2016.6.25 Mybatis 框架(十三) 前十二 章总结

mybatis是什么? mybatis是一个持久层框架,是一个不完全的ORM框架,sql语句需要程序员自己去写 mybatis也有映射(输入参数映射.输出结果映射) mybatis入门门槛不高,学习成本低,让程序员把精力放在sql语句上, 对sql语句优化非常方便,适用于需求变化较多的项目,比如互联网项目 mybatis框架执行过程 1. 配置mybatis的配置文件,sqlMapConfig.xml(名称固定不变) 2. 通过配置文件,加载mybatis运行环境,创建SqlSessionFac

2016.5.25 Mybatis 框架(三) Mybatis 框架原理

1. mybatis是什么? mybatis是一个持久层框架,是apache下的顶级项目 先是托管到googlecode下,后托管到github下(https://github.com/mybatis-3/release) mybatis让程序员将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足 需要的sql语句(半自动化,大部分需要程序员编写sql) mybatis可以将向preparedStatement中的输入参数 自动进行输入映射, 将查询结果集灵活映射成java

2016.5.28 Mybatis 框架(七) Hilbernate 与Mybatis 本质区别和应用场景

Hilbernate:是一个标准ORM框架(对象关系映射),入门门槛较高,不需要程序写sql,sql语句自动生成了. 对sql语句进行优化,修改比较困难. 应用场景: 适用于需求变化不多的中小型项目 后台管理系统,erp.orm.oa Mybatis:专注的是sql本身,需要程序员自己编写sql语句,sql修改.优化比较方便,mybatis是一个不完全的ORM框架. 虽然程序员自己写sql,Mybatis也可以实现映射(输入映射.输出映射). 应用场景: 适用于需求变化较多的项目, 比如: 互联

MyBatis 框架之快速入门程序

一.使用 IDEA 快速创建 Maven 项目 关于如何快速创建 Maven 项目,这个可以参考下面这篇文章: Maven 项目管理工具基础入门系列(一) 二.快速配置 MyBatis 依赖 jar 包 打开 pom.xml 文件,快速配置 jar 包,配置代码如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

对原生态jdbc程序中问题总结

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class JdbcTest { public static void main(String[] args) { Connection connection = null; Prep

MyBatis框架之第一篇

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis.2013年11月迁移到Github. ●[GitHub] GitHub就是一个互联网上的超大SVN库,里面维护着许多开源项目的代码.任何人都可以把自己好多项目代码放上去共享,同时接受其他人的共同开发. 2.2.什么是MyBatis MyBatis是使用java语言编写的一个优秀的持久层框架,是对JDBC操

mybatis框架入门

初识mybatis 对原生jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理 mybatis入门程序 用户的增删查改 mybatis开发dao两种方法 原始dao开发方法(程序需要编写dao接口和dao实现类) mybatis的mapper接口(相当于dao接口)代理开发方法 mybatis配置文件SqlMapConfig.xml mybatis核心 mybatis输入映射 mybatis输出映射 mybatis的动态sql 第二天 订单商品的数据分析 改机映射(一对一.一对多

MyBatis框架中Mapper映射配置的使用及原理解析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder

在 <MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置与使用> 的demo中看到了SessionFactory的创建过程: SqlSessionFactory sessionFactory = null; String resource = "mybatisConfig.xml"; try { sessionFactory = new SqlSessionFactoryBuilder().build(Resources .getResourceAsRea

MyBatis框架概述

MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设置参数.结果集检索等jdbc繁杂的过程代码. 实现基本的数据库操作功能的流程如下: 编写xml文件,配置运行环境. 通过IO流载入xml文件,创建SqlSessionFactory对象(会话工厂). 由会话工厂,创建SqlSession对象(会话). 通过SqlSession对象,操作数据库.注意增