java操作连接mysql

来源:互联网 发布:mac 相对于卷宗的格式 编辑:程序博客网 时间:2024/05/17 23:05

java连接数据库,根据相对应的mysql版本,我们需要在项目中导入对应的sql连接器的jar包

如mysql的5.6版本连接器:mysql-connector-java-5.1.34-bin.jar

在Web项目中,放入lib目录下即可。

连接步骤:

1 加载连接器(驱动) Driver ---高版本mysql可以省略
        Class.forName("com.mysql.jdbc.Driver");
2 建立连接
        // String url ="jdbc:mysql://127.0.0.1:3306/aa";//采用默认编码
           String url ="jdbc:mysql://127.0.0.1:3306/aa?useUnicode=true&characterEncoding=UTF-8";//采用指定编码连接
          Connection con = DriverManager.getConnection(url,"root","1234");//3个参数:连接串、用户名、密码
3 获取语句对象
            Statement st = con.createStatement();
4 对数据库进行操作(增删改查)--通过st对象
       //增:
         String sql ="INSERT INTO sstud VALUES('1020','杨过',30,'武侠')";
       //删: String sql ="delete from sstud where sno='1018' ";
       //改:
        //String sql = "update sstud set saddress='中国北京' where sname='刘备'; ";//注意,这种方式不能写多条sql语句(中间用分号隔也不行)
        st.execute(sql);//增删改用:st.execute()方法

      //查
          String sql2 = "select * from sstud ";
           ResultSet rs = st.executeQuery(sql2);
          while(rs.next()){//遍历获取的行
                       String sno= rs.getString(1);//指定列号的方式读取。第一列的序号是:1
                         String sname = rs.getString("sname");//指定列名的方式读取
                       int age = rs.getInt("age");
                      String saddress = rs.getString(4);
                      System.out.println(sno+","+sname+","+age+","+saddress);
         }

注意:

         1: jar包不能丢,是提供具体连接的类,实现了sql包中Connection等接口:。

          2:中文乱码:数据库的数据信息输出一致,需要三个编码一致,分别是:

                 数据库VARIABLE表中的variable_name字段中:

                    character_set_client 

                    character_set_connection

                    character_set_results

                   当这三个编码一致时,可正显示(可支持显示字符的编码)

                  处理:

                 查看当前数据库的编码
                               SHOW VARIABLES WHERE variable_name LIKE 'character%';
                 设置某个编码:
                               SET character_set_results =utf8;

0 0