package cn.mxl.jdbc04;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* JDBC 增
*
* JDBC 增加表中的数据 用SQL语句
*
* @author
*
*/
public class Test_JDBC {
public static void main(String[] args) {
Connection conn =null;
// 加载驱动
try {
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 建立连接
try {
MySQL的JDBC : jdbc:mysql://主机名称:连接端口/数据库的名称,账号,密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105");
System.out.println("建立连接成功");
// Statement是用来向数据库发送要执行的SQL语句的!
// Statement stmt =null;也可以定义全局变量
Statement stmt = conn.createStatement();
//增加数据
String sql ="insert into student(NO,name) values('2002','郭嘉')";
int ret =stmt.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("Mysql操作错误");
e.printStackTrace();
}finally {
// 关闭连接
if (conn!=null) {
try {
conn.close();
System.out.println("关闭连接成功");
} catch (SQLException e) {
System.out.println("关闭连接出现错误");
e.printStackTrace();
}
}
}
}
}
package cn.mxl.jdbc03;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* JDBC 查
*
*JDBC 查看表中指定列数据
* @author
*
*/
public class Test_JDBC {
public static void main(String[] args) {
Connection conn = null;
String sql;
// 加载驱动
try {
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 建立连接
try {
// MySQL的JDBC : jdbc:mysql://主机名称:连接端口/数据库的名称,账号,密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105");
System.out.println("建立连接成功");
// Statement是用来向数据库发送要执行的SQL语句的!Statement
// Statement stmt =null;也可以定义全局变量
Statement stmt = conn.createStatement();
// 查询所有表中数据 需要定义一个ResultSet (查看数据)
// ResultSet rt = null;也可以定义全局变量
ResultSet rt =stmt.executeQuery("select * from student");
//一次查询一条,可以用循环查询。
while(rt.next()){
System.out.println(rt.getString("NO")+"\t"+rt.getString("name"));
//System.out.println(rt.getString(1)+"\t"+rt.getString(2));
}
} catch (SQLException e) {
System.out.println("Mysql操作错误");
e.printStackTrace();
}finally {
// 关闭连接
if (conn!=null) {
try {
conn.close();
System.out.println("关闭连接成功");
} catch (SQLException e) {
System.out.println("关闭连接出现错误");
e.printStackTrace();
}
}
}
}
}
package cn.mxl.jdbc05;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* JDBC 删
*
* JDBC 删除表中的数据 用SQL语句
*
* @author
*
*/
public class Test_JDBC {
public static void main(String[] args) {
Connection conn =null;
// 加载驱动
try {
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 建立连接
try {
MySQL的JDBC : jdbc:mysql://主机名称:连接端口/数据库的名称,账号,密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105");
System.out.println("建立连接成功");
// Statement是用来向数据库发送要执行的SQL语句的!
// Statement stmt =null;也可以定义全局变量
Statement stmt = conn.createStatement();
//删除数据
String sql = "delete from student where NO='2012001'";
int ret =stmt.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("Mysql操作错误");
e.printStackTrace();
}finally {
// 关闭连接
if (conn!=null) {
try {
conn.close();
System.out.println("关闭连接成功");
} catch (SQLException e) {
System.out.println("关闭连接出现错误");
e.printStackTrace();
}
}
}
}
}
package cn.mxl.jdbc02;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* JDBC 改
*
* JDBC 更新(改)表中的数据 用SQL语句update
* stmt.executeLargeUpdate
* @author
*
*/
public class Test_JDBC {
public static void main(String[] args) {
Connection conn = null;
// 加载驱动
try {
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 建立连接
try {
MySQL的JDBC : jdbc:mysql://主机名称:连接端口/数据库的名称,账号,密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105");
System.out.println("建立连接成功");
// Statement是用来向数据库发送要执行的SQL语句的!
// Statement stmt =null;也可以定义全局变量
Statement stmt = conn.createStatement();
//更新数据(更改数据)
String sql ="update student set name='诸葛亮' where NO=2012002";
int ret =stmt.executeUpdate(sql);
} catch (SQLException e) {
System.out.println("Mysql操作错误");
e.printStackTrace();
}finally {
// 关闭连接
if (conn!=null) {
try {
conn.close();
System.out.println("关闭连接成功");
} catch (SQLException e) {
System.out.println("关闭连接出现错误");
e.printStackTrace();
}
}
}
}
}
创建表和向表插入数据
package cn.mxl.jdbc01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.log4j.Logger;
/**
* 1.JDBC连接数据库
* 2.创建表和向表插入数据
*
*
* @author
*
*/
public class Test_JDBC {
// 出现异常用LOG4J记录异常信息
// private static Logger logger =Logger.getLogger(Test_JDBC.class.getName());
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
// 加载驱动
try {
// 之所以要使用下面这条语句,是因为要使用MySQL的驱动,所以我们要把它驱动起来,
// 可以通过Class.forName把它加载进去,也可以通过初始化来驱动起来
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 建立连接
try {
MySQL的JDBC : jdbc:mysql://主机名称:连接端口/数据库的名称,账号,密码
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/JDBC","meng","3588105");
System.out.println("建立连接成功");
//在这里写操作数据库的SQL代码
// Statement里面带有很多方法,比如executeUpdate可以实现插入,更新和删除等
stmt = conn.createStatement();
//定义表结构
String sql = "create table student(NO char(20),name varchar(20),primary key(NO))";
int result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功
if (result != -1) {
System.out.println("创建数据表成功");
//sql语句插入数据
sql = "insert into student(NO,name) values('2012001','陶伟基')";
result = stmt.executeUpdate(sql);
//sql语句插入数据
sql = "insert into student(NO,name) values('2012002','周小俊')";
result = stmt.executeUpdate(sql);
//sql语句插入数据
sql = "insert into student(NO,name) values('2012003','急急急')";
result = stmt.executeUpdate(sql);
//查看表中所有信息 ResultSet
sql = "select * from student";
ResultSet rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值
System.out.println("学号\t姓名");
while (rs.next()) {
System.out.println(rs.getString(1) + "\t" + rs.getString(2));// 入如果返回的是int类型可以用getInt()
}
}
} catch (SQLException e) {
System.out.println("Mysql操作错误");
e.printStackTrace();
}finally {
// 关闭连接
if (conn!=null) {
try {
conn.close();
System.out.println("关闭连接成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
package cn.jdbc.denglu;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class Test_JDBC {
/**
* jdbc通过数据库进行账号密码验证。
* @param args
*/
public static void main(String[] args) {
Connection conn =null;
//Statement stmt =null;
PreparedStatement stmt = null;
ResultSet rt = null;
Scanner input = new Scanner(System.in);
System.out.println("\t请输入账号和密码");
System.out.println("请输入账号:");
String name=input.next();
System.out.println("请输入密码:");
String password =input.next();
//加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//建立连接
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc", "meng", "3588105");
//用?占位符 代表
String sql ="select * from student where name=?and password=?";
stmt = conn.prepareStatement(sql);
//两个参数,1是第一个?是第二个? 第二个参数 是 输入的值
stmt.setObject(1, name);
stmt.setObject(2, password);
rt=stmt.executeQuery();
if (rt.next()) {
System.out.println("登录成功!!!");
}else {
System.out.println("登录失败,重新输入。");
}
}
catch (SQLException e) {
e.printStackTrace();
}
//关闭连接
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (stmt!=null) {
try {
stmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (rt!=null) {
try {
rt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}