Java连接Mysql及操作

java连接Mysql和java 连接Sqlserver类似.
JDBC连接编程步骤:

1.Load the Driver
  1.1 Class.forName()|class.forName().newInstance()|new DriverName()
 1.2 实例化时自动向DriverManager注册,不需要显示调用DriverManager.registerDriver方法
2.Connect to the DataBase
  2.1 DriverManager.getConnection()
3.Execute the SQL 执行SQL语句
 31 Connection.CreateStatement()
 3.2 Statement.executeQuery() 执行sql语句,sql语句在excuteQuery(“Select * from TT”)
 3.3 Statement.executeUpdate()
4.Retrieve the result data
 4.1循环取得结果 while(rs.next()) 进行结果的遍历
5.Show the result data
 5.1将数据库中的各种类型转换为Java中的类型(getXXX)方法,getInt(“字段”) getString getDouble
6.Close ——————后打开的先关
 6.1 close the resultset./close the statement /close the connection

1.下载Mysql的jdbc驱动,下面是下载地址
MySql jdbc驱动下载地址
解压缩,将mysql-connector-java-5.1.38-bin.jar包手动添加到工程中。
2.使用statement建立连接
Connection是数据库连接的代表对象,要执行sql语句的话,就必须需要java.sql.Statement操作对象,可以使用Connection的createStatement()建立Statement对象:

Statement st=conn.createStatement();

取得Statement对象后,可以使用excuteUpdate()、executeQuery()等方法来执行SQL,excuteUpdate()主要用来执行CREATE 、TABLE 、 INSERT、 DROP TABLE、 ALTER TABLE 等会改变数据库内容的SQL语句.
例如:
首先使用Mysql图形管理界面SQLyog执行如下程序:

CREATE DATABASE test;
USE test;
CREATE TABLE t_message( 
    id INT  AUTO_INCREMENT PRIMARY KEY NOT NULL, //主键自增长
    NAME CHAR(20) NOT NULL,
    email CHAR(40),
    msg TEXT NOT NULL
)CHARSET=UTF8;

建立test数据库,并在该数据库中建立t_message表
如果想在数据库中插入一条数据,在java中可以使用executeUpdate方法:

st.executeUpdate("INSERT INTO t_message VALUES(1,'xiaoming','xiaoming@mail.com','deudejuideu')");

返回int结果,表示数据变动的笔数
如果想查询数据库,可以使用Statement的executeQuery()方法。可以返回java.sql.ResultSet对象,可以使用ResultSet的next()移动至下一笔数据,它会返回true或者false表示是否有下一条数据。接着可以使用getxxx()取得数据,如:getString()、getInt()、getFloat()等方法。
如下:
使用域名查询

ResultSet result=st.executeQuery("SELECT * FROM t_message");
while(result.next()){
    int id=result.getInt("id");
    String name =result.getString("name");
    String email=result.getString("email");
    String msg  =result.getString("msg");

使用编号查询:

ResultSet result=st.executeQuery("SELECT * FROM t_message");
while(result.next()){
    int id=result.getInt("1");
    String name =result.getString("2");
    String email=result.getString("3");
    String msg  =result.getString("4");

参考示例:

import java.sql.*;
public class TestJDBC {
    public static void main(String[] args){
        ResultSet rs=null;
        Statement stmt=null;
        Connection conn=null;
        try{
            Class.forName("com.mysql.jdbc.Driver");//new一个实例,自动的向DriverManager注册
            //2.new com.mysql.jdbc.Driver();
            conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
            stmt=conn.createStatement();
            rs=stmt.executeQuery("select * from t_message");
            while(rs.next()){
                System.out.println(rs.getInt("id"));
                System.out.println(rs.getString("name"));
                System.out.println(rs.getString("email"));
                System.out.println(rs.getString("msg"));
            }

        }catch(ClassNotFoundException ex){//没有找到驱动
            ex.printStackTrace();//可以直接在此输出print驱动没找到
        }catch(SQLException ex){
            ex.printStackTrace(); //exception应该记录在log中出错时在进行查找
        }finally{
            try{//得判断是否有rs,是否需要close
                if(rs!=null){
                    rs.close();//不加时出错因为close过程也会出现exception
                    rs=null;
                }
                if(stmt!=null){
                    stmt.close();
                    stmt=null;
                }
                if(conn!=null){
                    conn.close();
                    conn=null;
                }
            }catch(SQLException ex){
                ex.printStackTrace();
            }
        }
    }
}

运行结果:

1
xiaoming
xiaoming@mail.com
deudejuideu
2
xiaoming
xiaoming@mail.com
deudejuideu
3
xiaoming
xiaoming@mail.com
deudejuideu
4
deh
deh@126.com
fhwudweudwui
5
dshjuqw
dewhjuidw
dewhuidwe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值