javaWeb项目中链接MySQL

主要分一下几步:

1.找到connector包

java链接MySQL数据库需要用到jar包mysql-connector-java.jar

Windows下安装MySQL8.0时如果选择安装了connector J,jar包路径为"C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-java-8.0.12.jar",我的MySQL时x64版本的,但是connector似乎只有x86版本的。

2.添加jar包

将mysql-connector-java-8.0.12.jar复制到Tomcat的lib路径下我的路径是:"D:\env\apache-tomcat-8.5.32\lib",之后可以在新建的web项目下找到这个jar包

3.链接数据库

用一下代码链接数据库

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

import com.hxzy.util.Student;

public class JdbcTest {

    public ArrayList<Student> getStudent(String grade) {
        ArrayList<Student> stuList = new ArrayList<>();
    //url中包含信息:jdbc:mysql://ip:端口/数据库名称?[字符集设定]&服务器时区设定[&useSSL选项]
    //其中字符集设定可以省略
    //若省去服务器时区设定会发生错误:The server time zone value '???ú±ê×??±??' is unrecognized
    //若省去useSSLR选项会跳出warning:Establishing SSL connection without server's identity verification is not recommended.
        String url="jdbc:mysql://127.0.0.1:3306/myschool?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8";
        String pwd="111111";
    //设定密码
        String user="root";
    //设定用户名
        String classForName = "com.mysql.cj.jdbc.Driver";
    //设定jdbc驱动名称,这是connector8.0版本的驱动名称,在之前版本中为com.mysql.jdbc.Driver
        
        try {
            Class.forName(classForName);
      //加载驱动类↑
            Connection conn=DriverManager.getConnection(url, user, pwd);
      //通过url,user,pwd创建连接,连接至MySQL↑
            Statement sta=conn.createStatement();
      //根据连接创建语句↑
            String sql="select * from student";
            ResultSet rSet=sta.executeQuery(sql);
      //用ResultSet类型接受查询语句返回值↑

            Student stu;
            String name;
            int num;
            String phone;            
            while(rSet.next()){
                name = rSet.getString("studentname");
                num = rSet.getInt("studentno");        
                phone = rSet.getString("phone");
                System.out.println(num+":"+name+":"+phone);
            }
      //遍历获取返回值中的相应列
            conn.close();
            
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }
       
    }
}

 

posted @ 2018-08-20 19:02  annofyf  阅读(2618)  评论(0编辑  收藏  举报