我从启动MySQL服务器开始讲到创建数据库、表,再讲通过jdbc操作数据库
第一部分 创建数据库,准备数据
- 首先,如果没有启动MySQL服务器,就需要开启服务器
net start mysql56 //启动MySQL服务器
mysql数据库的名字可以通过在控制台输入:services.msc 查看服务列表找到MySQL服务的名字(一般是MySQL+版本号)
net stop mysql56 //关闭MySQL服务器
- 接着,服务器启动后,就可以通过控制台连接数据库了
mysql -u root -p //连接数据库,输入密码
这一步需要将MySQL所在的目录(C:\Program Files\MySQL\MySQL Server 5.6\bin)配置到环境变量(path),不然输入命令不会起作用个的。
- 下面就可以创建数据库和数据表了
1.创建一个数据库mybatis
CREATE DATABASE mybatis; USE mybatis;
2.创建一个用户表(user)
CREATE TABLE user( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), birthday DATE);
3.往里面插入两条数据
INSERT INTO user(name,birthday) VALUES('cyy',curdate()); INSERT INTO user(name,birthday) VALUES('yuli','2016-11-01');
第二部分 通过jdbc操作数据库
需求:根据用户名name查询用户的信息
- 1.准备开发环境
导入这个jar包并加入构建路径即可
- 2.通过jdbc操作MySQL
我的User对象
package com.cyy.domain; import java.util.Date; public class User { private int id; private String name; private Date birthday; public String toString() { return "User [id=" + id + ", name=" + name + ", birthday=" + birthday + "]"; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
package com.cyy.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.cyy.domain.User; public class JdbcTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub // 通过jdbc与数据交互的一般步骤 Connection conn = null; PreparedStatement statement = null; //预编译sql语句,防止SQL注入 ResultSet rs = null; String url = "jdbc:mysql://localhost:3306/mybatis";// String username = "root"; String password = "390032540"; String sql = "select * from user where name=?"; try { // 1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.获取连接 conn = DriverManager.getConnection(url, username, password); // 3.创建查询语句 statement = conn.prepareStatement(sql); // 4.向PrepareStatement占位符设置参数 statement.setString(1, "cyy"); // 5.执行查询语句,得到结果集 rs = statement.executeQuery(); if (rs.next()) { User user = new User(); user.setId(rs.getInt(1)); user.setBirthday(rs.getDate(3)); user.setName(rs.getString(2)); System.out.println(user); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(rs != null){ try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } rs = null; } if(statement != null){ try { statement.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } statement = null; } if(conn != null){ try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } conn = null; } } } }