1.MyBatis学习之JDBC回顾

目录

一:IDEA创建Maven项目

二:在Maven的pom.xml中 导入mysql的依赖包

三:创建数据库-准备数据

四:JDBC基础代码

 五:JDBC缺点分析


一:IDEA创建Maven项目

File -> New -> Project (弹出:new Project窗口) -> 左侧选择Maven 和 Project SDK 点击New -> 输入项目名称和项目所在地址,选择Finish 创建新项目

二:在Maven的pom.xml中 导入mysql的依赖包

<dependencies>
    <dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.31</version>
	</dependency>
</dependencies>

 

三:创建数据库-准备数据

#新建数据库
CREATE DATABASE juntest;
#新建表
DROP TABLE IF EXISTS user;
#新建字段
CREATE TABLE user (
id char(32) NOT NULL,
user_name varchar(32) DEFAULT NULL,
password varchar(32) DEFAULT NULL,
age int(10) DEFAULT NULL,
sex int(2) DEFAULT NULL,
birthday date DEFAULT NULL,
created datetime DEFAULT NULL,
updated datetime DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#插入数据
INSERT INTO juntest.user(id,user_name,password,age,sex,birthday,created,updated)
VALUES('1001','junjun','123456','13','1','2019-11-03',SYSDATE(),SYSDATE())

新建后的数据:

 

四:JDBC基础代码

package com.test.junjun.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBCTestDemo {

	public static void main(String[] args) {
		Connection connection = null;
		PreparedStatement preparedStatement = null ;
		ResultSet rs=  null;
		
		
		try {
			//加载驱动
			Class.forName("com.mysql.jdbc.Driver");
			//获取链接
			String url = "jdbc:mysql://127.0.0.1:3306/juntest";
			String user = "root";
			String password = "123456";
			connection = DriverManager.getConnection(url, user, password);
			
			//获取statement,preparedStatement,
			String sql = "select * from test_user where id='1001' ";
			preparedStatement = connection.prepareStatement(sql);
			//执行查询
			rs = preparedStatement.executeQuery();
			//处理结果集
			while (rs.next()) {
				System.out.println(rs.getString("user_name"));
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			//关闭连接 释放资源
			if (rs != null) {
				try {
					rs.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			if (preparedStatement != null) {
				try {
					preparedStatement.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
			
			if (connection != null) {
				try {
					connection.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

 五:JDBC缺点分析

1.每次都要加载连接,且驱动名称为硬编码
2.每次都要获取连接,且连接信息也为硬编码
3.存在sql 和java代码耦合
4.参数类型需要手动判断,且需要判断下标和手动设置参数
5.结果集中的数据类型需要手动判断,下标或列名需要手动判断
6.每次都要打开或关闭连接,浪费资源;

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值