环境Windows10 eclipse 64位 MySQL
一:资料准备
(MySQL,eclipse下载安装不在赘述)
配置好MySQL环境后
下载jdbc地址http://dev.mysql.com/downloads/connector/j/下载文件为mysql-connector-java-gpl-5.1.36.msi(或更高版本),双击后在C:\Program Files (x86)\MySQL\MySQL Connector J可以找到jar包mysql-connector-java-5.1.36-bin.jar(留着备用)
二:数据库连接
1.创建数据库
//创建数据库
mysql> create database mybatis;
Query OK, 1 row affected (0.05 sec)
//选择数据库
mysql> use mybatis;
Database changed
//创建数据库表
mysql> create table user(
-> id int(4) not null primary key auto_increment,
-> username varchar(32) not null,
-> birthday date,
-> sex char,
-> address varchar(256));
//为user表插入数据
mysql>insert into user values(1,’王五’,’2000-05-07’,’0’,’邯郸’);
//查看user表
mysql> select *from user;
+—-+———-+————+——+———+
| id | username | birthday | sex | address |
+—-+———-+————+——+———+
| 1 | 王五 | 2000-05-07 | 0 | 邯郸 |
+—-+———-+————+——+———+
2.创建简单的java工程
打开eclipse file->new->Java Project->输入javaproject name->finish
结构图如下
3.测试连接
创建package->创建class,名称见结构图
测试代码(注释很详细)
package com.demo.jdbc;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
/**
* 通过单独jdbc程序,总结问题
* @author raymax
*
*/
public class JdbcTest {
public static void main(String[] args){
//数据库连接
Connection connection =null;
//预编译的statement,使用预编译的statement提高数据库的性能
PreparedStatement preparedStatement = null;
//结果集
ResultSet resultSet = null;
try{
//加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//通过驱动管理类获取数据库连接,因为我的数据库没有密码,所以最是空"",如果有加上。
connection = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root","");
//定义sql语句?表示占位符
String sql = "select * from user where username = ?";
//获取预处理statement
preparedStatement = connection.prepareStatement(sql);
//设置参数,第一个参数为sql语句中的序号(从1开始),第二个参数为设置的参数值
preparedStatement.setString(1, "王五");
//项数据库发送sql执行查询,查询出结果集
resultSet = preparedStatement.executeQuery();
//遍历查询结果集
while(resultSet.next()){
System.out.println(resultSet.getString("id")+" "+resultSet.getString("username"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
//释放资源
if(resultSet!=null){
try{
resultSet.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();
}
}
}
}
}
三:运行及结果(成功)