本文共 2973 字,大约阅读时间需要 9 分钟。
环境Windows10 eclipse 64位 MySQL
一:资料准备
(MySQL,eclipse下载安装不在赘述)
配置好MySQL环境后
下载jdbc地址下载文件为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(); } } } }}
三:运行及结果(成功)