JDBC学习笔记

MySQL数据库安装配置

建议有SQL数据库基础和java编程基础的读者阅读本文

  • 网上下载MySQL绿色版本,文件是一个压缩包,解压后没有setup.exe执行程序,百度得到安装方法如下(windows系统)

    1. 在系统环境变量path变量追加mysql的bin目录
    2. 配置mysql软件跟目录下my-default.ini文件(‘#’是配置文件里的行注释,注意删去)
      basedir =G:\mysql-5.6.24-win32(你的mysql目录)
      datadir =G:\mysql-5.6.24-win32\data(你的mysql\data目录)
    3. 以管理员身份运行cmd进入mysql\bin目录下,运行命令mysqld -install
    4. 输入net start mysql即可启动mysql服务
    5. 若此时出现错误2和错误1067在mysql\bin目录下运行mysqld -remove卸载mysql再mysqld -install重新安装
    6. mysql -u root -p进入mysql,默认无密码,回车即可
    7. 如果需要图形化管理界面可以用mysql提供的免费工具mysql workbench
      也可以使用收费软件nvicat,前者功能强大,建议使用
  • 数据库和数据准备(依次执行下列查询语句)

/* 先建立名称为jsp_db的数据库*/ 
create datebase jsp_db

/*在jsp_db数据库下建立两个数据表*/
use jsp_de
create table tbl_user(
id int(11) unsigned not null auto_increment,
name varchar(50) not null default '',
password varchar(50) not null default '',
email varchar(50) default '',
primary key(id))
engine = InnoDB
default charset =utf8;

create table tbl_address(
id int(11) unsigned not null auto_increment,
city varchar(20) default null,
country varchar(20) default null,
user_id int(11) unsigned not null,
primary key(id))
engine=InnoDB
default charset = utf8;

/*向两个表插入两条数据,这里演示了两种数据插入写法*/
insert into tbl_user(id,name,password,email)
values
(1,'xiaoming','123456','xiaoming@gmail.com'),
(2,'xiaozhang','123456','xiaozhang@gmail.com');

insert into tbl_address(city,country,user_id)
values ('beijing','china',1);
insert into tbl_address(city,country,user_id)
values ('tianjin','china',2);

/*查看表中内容*/
/*
select * from tbl_user;
select * from tbl_address;
*/


  • 在java IDE集成开发环境中建一个工程,引入jdbc驱动拓展包


  1. 从网上下载mysql jdbc 驱动包,一般压缩文件里会包含源码,jar包和帮助文档,我只需要jar包mysql-connector-java-5.1.40-bin.jar,eclipse引入的方法是右键工程里的JRE System Library文件夹->Build Path->Configure Build path ->Add External JARs然后选中你的jar包即可
  2. 建一个类,连接并操作数据库,下面是实现增删查改
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class T1 {
    /**
     * 连接数据库
     * @return Connection
     */
    public static Connection getConnection(){
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jsp_db","《你的数据库用户名》","《对应密码》");
        }catch(Exception e){
            e.printStackTrace();
        }
        return conn;
    }

    /**
     * 向数据库插入一条信息,打印输出提示信息
     */
    public static void insert(){
        Connection conn = getConnection();
        try {
            String sql="INSERT INTO tbl_user(name,password,email)"
                    + "VALUES('Tom','123456','tom@gmail.com')";
            Statement st = conn.createStatement();
            int count = st.executeUpdate(sql);
            System.out.println("向tbl_user表中插入了"+count+"条记录");
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 更新一条信息,打印输出信息
     */
    public static void update(){
        Connection conn = getConnection();
        try {
            String sql="UPDATE tbl_user SET email='tom@126.com' WHERE name='Tom'";
            Statement st = conn.createStatement();
            int count = st.executeUpdate(sql);
            System.out.println("向tbl_user表中更新了"+count+"条记录");
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /**
     * 删除一条记录,打印输出信息
     */
    public static void delete(){
        Connection conn = getConnection();
        try {
            String sql="DELETE FROM tbl_user WHERE name='Tom'";
            Statement st = conn.createStatement();
            int count = st.executeUpdate(sql);
            System.out.println("从tbl_user表中删除了"+count+"条记录");
            conn.close();
        } catch (Exception e) {
            System.out.println("可能用户无此权限");
            e.printStackTrace();
        }
    }
    /**
     * 查询全部内容
     */
    public static void selects(){
        Connection conn = getConnection();
        try {
            String sql = "SELECT * FROM tbl_user";
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery(sql);
            while(rs.next()){
                System.out.print(rs.getString("id")+"\t");
                System.out.print(rs.getString("name")+"\t");
                System.out.print(rs.getString("password")+"\t");
                System.out.println(rs.getString("email")+"\t");
            }
            conn.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args){
//      selects();
//      insert();
//      update();
//      delete();
        selects();
        }
}


  • JDBC流程图
    这里写图片描述

参考极客学院的java工程师课程所讲内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值