jee连接mysql代码(e2ee连接mysql)

发布时间:2022-11-09

本文目录一览:

  1. java连接mysql数据库
  2. java是怎么连接mysql数据库的
  3. java连接数据库mysql代码及简单访问数据库
  4. java怎么连接mysql数据库
  5. eclipsejee怎么连接mysql数据库

java连接mysql数据库

步骤如下:

  1. 在开发环境中加载指定数据库的驱动程序。接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。
  2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。
  3. 在Java程序中加载驱动程序。在Java程序中,通过 Class.forName("指定数据库的驱动程序") 方式来加载添加到开发环境中的驱动程序,例如 Class.forName("com.mysql.jdbc.Driver")
  4. 创建数据连接对象:通过 DriverManager 类创建数据库连接对象 ConnectionDriverManager 类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的 getConnection 方法,根据数据库的URL、用户名和密码,创建一个JDBC Connection 对象。代码如:Connection connection = DriverManager.getConnection("连接数据库的URL", "用户名", "密码")。其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:
Connection connectMySQL = DriverManager.geiConnection("jdbc:mysql://localhost:3306/myuser", "root", "root");
  1. 创建 Statement 对象:Statement 类的主要是用于执行静态 SQL 语句并返回它所生成结果的对象。通过 Connection 对象的 createStatement() 方法可以创建一个 Statement 对象。例如:Statement statament = connection.createStatement(); 具体示例创建 Statement 对象代码如下:
Statement statamentMySQL = connectMySQL.createStatement();
  1. 调用 Statement 对象的相关方法执行相对应的 SQL 语句:通过 executeUpdate() 方法用来数据的更新,包括插入和删除等操作,例如向 staff 表中插入一条数据的代码:
statement.excuteUpdate("INSERT INTO staff(name, age, sex, address, depart, worklen, wage)" + " VALUES ('Tom1', 321, 'M', 'china', 'Personnel', '3', '3000')");
  1. 通过调用 Statement 对象的 executeQuery() 方法进行数据的查询,而查询结果会得到 ResultSet 对象,ResultSet 表示执行查询数据库后返回的数据的集合,ResultSet 对象具有可以指向当前数据行的指针。通过该对象的 next() 方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当 next() 方法返回 null,则表示下一行中没有数据存在。使用示例代码如下:
ResultSet resultSel = statement.executeQuery("select * from staff");
  1. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过 Connectionclose() 方法及时关闭数据连接。

java是怎么连接mysql数据库的

使用Java连接MySQL数据库与其他的数据库连接核心是一样的,如果说区别,那就是所需的驱动不一样。

工具/原料

  • MySQL
  • JDK

方法/步骤

  1. 首先需要安装好JDK(配置环境变量),如图所示:
  2. 其次要安装好MySQL数据库,可以使用可视化Navicar For MySQL,如图所示:
  3. 最后通过代码进行连接。 (1)确定连接路径URL:
String url = "jdbc:mysql://localhost(可以是本机IP地址):3306(端口号)/mysqltest(数据库名称)?user=用户账号password=用户密码useUnicode=字符编码";

(2)加载驱动:

Class.forName("com.mysql.jdbc.Driver");

(3)连接,获取 Connection 对象:

Connection conn = DriverManager.getConnection(url);

(4)可以通过 conn 对象检验连接与否。

java连接数据库mysql代码及简单访问数据库

import java.sql.*;
public class DataBasePractice {
    public static void main(String[] args) {
        // 声明Connection对象
        Connection con;
        // 驱动程序名
        String driver = "com.mysql.jdbc.Driver";
        // URL指向要访问的数据库名mydata
        String url = "jdbc:mysql://localhost:3306/mydata";
        // MySQL配置时的用户名
        String user = "root";
        // MySQL配置时的密码
        String password = "root";
        // 遍历查询结果集
        try {
            // 加载驱动程序
            Class.forName(driver);
            // 1.getConnection()方法,连接MySQL数据库!!
            con = DriverManager.getConnection(url, user, password);
            if (!con.isClosed())
                System.out.println("Succeeded connecting to the Database!");
            // 2.创建statement类对象,用来执行SQL语句!!
            Statement statement = con.createStatement();
            // 要执行的SQL语句
            String sql = "select * from student";
            // 3.ResultSet类,用来存放获取的结果集!!
            ResultSet rs = statement.executeQuery(sql);
            System.out.println("-----------------");
            System.out.println("执行结果如下所示:");
            System.out.println("-----------------");
            System.out.println(" 学号" + "\t" + " 姓名");
            System.out.println("-----------------");
            String name = null;
            String id = null;
            while (rs.next()) {
                // 获取stuname这列数据
                name = rs.getString("stuname");
                // 获取stuid这列数据
                id = rs.getString("stuid");
                // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
                // 然后使用GB2312字符集解码指定的字节数组。
                name = new String(name.getBytes("ISO-8859-1"), "gb2312");
                // 输出结果
                System.out.println(id + "\t" + name);
            }
            rs.close();
            con.close();
        } catch (ClassNotFoundException e) {
            // 数据库驱动类异常处理
            System.out.println("Sorry,can`t find the Driver!");
            e.printStackTrace();
        } catch (SQLException e) {
            // 数据库连接失败异常处理
            e.printStackTrace();
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        } finally {
            System.out.println("数据库数据成功获取!!");
        }
    }
}

在上面 while 代码段后面添加以下代码段:

String name = null;
String id = null;
while (rs.next()) {
    // 获取stuname这列数据
    name = rs.getString("stuname");
    // 获取stuid这列数据
    id = rs.getString("stuid");
    // 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
    // 然后使用GB2312字符集解码指定的字节数组。
    name = new String(name.getBytes("ISO-8859-1"), "gb2312");
    // 输出结果
    System.out.println(id + "\t" + name);
}
PreparedStatement psql;
ResultSet res;
// 预处理添加数据,其中有两个参数--“?”
psql = con.prepareStatement("insert into student values(?,?)");
psql.setInt(1, 8); // 设置参数1,创建id为5的数据
psql.setString(2, "xiaogang"); // 设置参数2,name 为小明
psql.executeUpdate(); // 执行更新
// 预处理更新(修改)数据
psql = con.prepareStatement("update student set stuname = ? where stuid = ?");
psql.setString(1, "xiaowang"); // 设置参数1,将name改为王五
psql.setInt(2, 10); // 设置参数2,将id为2的数据做修改
psql.executeUpdate();
// 预处理删除数据
psql = con.prepareStatement("delete from student where stuid = ?");
psql.setInt(1, 5);
psql.executeUpdate();
// 查询修改数据后student表中的数据
psql = con.prepareStatement("select * from student");
res = psql.executeQuery(); // 执行预处理sql语句
System.out.println("执行增加、修改、删除后的数据");
while (res.next()) {
    name = res.getString("stuname");
    id = res.getString("stuid");
    name = new String(name.getBytes("ISO-8859-1"), "gb2312");
    System.out.println(id + "\t" + name);
}
res.close();
psql.close();

java怎么连接mysql数据库

这里介绍两种方式:

一,JDBC链接MySQL数据库:

  1. 如果你用JDBC方式,则按照下列方式进行连接:
    • A,注册驱动
    • B,链接数据库
    • C,执行SQL
    • D,返回结果集 如下为一个基本完整流程:
package com.hu.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class DBHelper {
    public static final String url = "jdbc:mysql://127.0.0.1/student";
    public static final String name = "com.mysql.jdbc.Driver";
    public static final String user = "root";
    public static final String password = "root";
    public Connection conn = null;
    public PreparedStatement pst = null;
    public DBHelper(String sql) {
        try {
            Class.forName(name); // 指定连接类型
            conn = DriverManager.getConnection(url, user, password); // 获取连接
            pst = conn.prepareStatement(sql); // 准备执行语句
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public void close() {
        try {
            this.conn.close();
            this.pst.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
  1. 将注册,链接封装好,执行SQL语句,返回结果集,代码如下:
package com.hu.demo;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Demo {
    static String sql = null;
    static DBHelper db1 = null;
    static ResultSet ret = null;
    public static void main(String[] args) {
        sql = "select * from stuinfo"; // SQL语句
        db1 = new DBHelper(sql); // 创建DBHelper对象
        try {
            ret = db1.pst.executeQuery(); // 执行语句,得到结果集
            while (ret.next()) {
                String uid = ret.getString(1);
                String ufname = ret.getString(2);
                String ulname = ret.getString(3);
                String udate = ret.getString(4);
                System.out.println(uid + "\t" + ufname + "\t" + ulname + "\t" + udate);
            } // 显示数据
            ret.close();
            db1.close(); // 关闭连接
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
  1. 查询结果如下所示:

二,利用框架链接MySQL,这里是SpringMVC+MyBatis方式链接,主要是配置文件:

config.properties 文件:

validationQuery=SELECT 1
jdbc_url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
jdbc_username=root
jdbc_password=123456

spring-mabatis.xml 文件,进行相关配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/tx
                           http://www.springframework.org/schema/tx/spring-tx.xsd
                           http://www.springframework.org/schema/aop
                           http://www.springframework.org/schema/aop/spring-aop.xsd">
    <!-- 配置数据源 -->
    <bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init" destroy-method="close">
        <property name="url" value="${jdbc_url}" />
        <property name="username" value="${jdbc_username}" />
        <property name="password" value="${jdbc_password}" />
        <!-- 初始化连接大小 -->
        <property name="initialSize" value="0" />
        <!-- 连接池最大使用连接数量 -->
        <property name="maxActive" value="20" />
        <!-- 连接池最小空闲 -->
        <property name="minIdle" value="0" />
        <!-- 获取连接最大等待时间 -->
        <property name="maxWait" value="60000" />
        <property name="validationQuery" value="${validationQuery}" />
        <property name="testOnBorrow" value="false" />
        <property name="testOnReturn" value="false" />
        <property name="testWhileIdle" value="true" />
        <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
        <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
        <property name="minEvictableIdleTimeMillis" value="25200000" />
        <!-- 打开removeAbandoned功能 -->
        <property name="removeAbandoned" value="true" />
        <!-- 1800秒,也就是30分钟 -->
        <property name="removeAbandonedTimeout" value="1800" />
        <!-- 关闭abandoned连接时输出错误日志 -->
        <property name="logAbandoned" value="true" />
        <!-- 监控数据库 -->
        <property name="filters" value="mergeStat" />
    </bean>
    <!-- myBatis文件 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!-- 自动扫描entity目录, 省掉Configuration.xml里的手工配置 -->
        <property name="mapperLocations" value="classpath:com/fourfaith/*/mapping/*.xml" />
    </bean>
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.fourfaith.**.dao" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    </bean>
    <!-- 配置事务管理器 -->
    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
    <!-- 拦截器方式配置事物 -->
    <tx:advice id="transactionAdvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED" />
            <tx:method name="append*" propagation="REQUIRED" />
            <tx:method name="insert*" propagation="REQUIRED" />
            <tx:method name="save*" propagation="REQUIRED" />
            <tx:method name="update*" propagation="REQUIRED" />
            <tx:method name="modify*" propagation="REQUIRED" />
            <tx:method name="edit*" propagation="REQUIRED" />
            <tx:method name="delete*" propagation="REQUIRED" />
            <tx:method name="remove*" propagation="REQUIRED" />
            <tx:method name="repair" propagation="REQUIRED" />
            <tx:method name="delAndRepair" propagation="REQUIRED" />
            <tx:method name="import*" propagation="REQUIRED" read-only="false"
                        rollback-for="java.lang.Exception" />
            <tx:method name="get*" propagation="SUPPORTS" />
            <tx:method name="find*" propagation="SUPPORTS" />
            <tx:method name="load*" propagation="SUPPORTS" />
            <tx:method name="search*" propagation="SUPPORTS" />
            <tx:method name="datagrid*" propagation="SUPPORTS" />
            <tx:method name="*" propagation="SUPPORTS" />
        </tx:attributes>
    </tx:advice>
    <aop:config>
        <aop:pointcut id="transactionPointcut"
                      expression="execution(* com...*.service..*Impl.*(..))" />
        <aop:advisor pointcut-ref="transactionPointcut"
                     advice-ref="transactionAdvice" />
    </aop:config>
    <!-- 配置druid监控spring jdbc -->
    <bean id="druid-stat-interceptor"
          class="com.alibaba.druid.support.spring.stat.DruidStatInterceptor" />
    <bean id="druid-stat-pointcut"
          class="org.springframework.aop.support.JdkRegexpMethodPointcut"
          scope="prototype">
        <property name="patterns">
            <list>
                <value>com...*.service.*</value>
            </list>
        </property>
    </bean>
    <aop:config>
        <aop:advisor advice-ref="druid-stat-interceptor"
                     pointcut-ref="druid-stat-pointcut" />
    </aop:config>
</beans>

还有很多方式可以实现,这里就简略的描述一番。

eclipsejee怎么连接mysql数据库

首先你得有一个JDBC的架包,然后:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Util {
    public static Connection getConnection() {
        Connection con = null;
        String user = "root"; // 数据库登陆用户名
        String password = "root"; // 数据库登陆密码
        String url = "jdbc:mysql://localhost:3306/password"; // 数据库库名
        String driver = "com.mysql.jdbc.Driver";
        try {
            Class.forName(driver);
            con = DriverManager.getConnection(url, user, password);
        } catch (Exception e) {
        }
        return con;
    }
    public static void main(String[] args) {
        Connection con = getConnection();
        String sql = "insert into stu values(null,'hello')";
        PreparedStatement p = null;
        try {
            p = con.prepareStatement(sql);
            p.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                p.close();
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}