• com.mysql.jdbc.Driver to com.mysql.cj.jdbc.Driver


    com.mysql.jdbc.Driver tocom.mysql.cj.jdbc.Driver

    MySQL :: MySQL Connector/J 8.0 Developer Guide :: 4.3.1.3 Changes in the Connector/J API https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-api-changes.html

    MySQL Connector/J 8.0 Developer Guide  /  ...  /  Changes in the Connector/J API

    4.3.1.3 Changes in the Connector/J API

    This section describes the changes to the Connector/J API going from version 5.1 to 8.0. You might need to adjust your API calls accordingly:

    • The name of the class that implements java.sql.Driver in MySQL Connector/J has changed from com.mysql.jdbc.Driver tocom.mysql.cj.jdbc.Driver. The old class name has been deprecated.

    • The names of these commonly-used interfaces have also been changed:

      • ExceptionInterceptor: from com.mysql.jdbc.ExceptionInterceptor to com.mysql.cj.exceptions.ExceptionInterceptor

      • StatementInterceptor: from com.mysql.jdbc.StatementInterceptorV2 to com.mysql.cj.interceptors.QueryInterceptor

      • ConnectionLifecycleInterceptor: from com.mysql.jdbc.ConnectionLifecycleInterceptor tocom.mysql.cj.jdbc.interceptors.ConnectionLifecycleInterceptor

      • AuthenticationPlugin: from com.mysql.jdbc.AuthenticationPlugin to com.mysql.cj.protocol.AuthenticationPlugin

      • BalanceStrategy: from com.mysql.jdbc.BalanceStrategy to com.mysql.cj.jdbc.ha.BalanceStrategy.

    信息: Loading XML bean definitions from class path resource [Beans.xml]
    Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">
    
        <bean id="dataSource"  class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://rm-2zeo.mysql.rds.aliyuncs.com:3306/vtest"/>
            <property name="username" value="u"/>
            <property name="password" value="I"/>
        </bean>
    
        <!-- Definition for studentJDBCTemplate bean -->
        <bean id="studentJDBCTemplate" class="com.tutorialspoint.StudentJDBCTemplate">
            <property name="dataSource"  ref="dataSource" />
        </bean>
    
    </beans>
    

      

     mvn clean;mvn compile;mvn package;mvn install;

    mvn 打包jar

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.tutorialspoint</groupId>
        <artifactId>HelloSpringJDBCMysql</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    
        <dependencies>
    
            <!-- Spring Core -->
            <!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>4.1.4.RELEASE</version>
            </dependency>
    
            <!-- Spring Context -->
            <!-- http://mvnrepository.com/artifact/org.springframework/spring-context -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>4.1.4.RELEASE</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>5.1.3.RELEASE</version>
            </dependency>
    
            <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.13</version>
            </dependency>
    
        </dependencies>
        <build>
            <!--使用的插件列表-->
            <plugins>
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.1.0</version>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                        <archive>
                            <manifest>
                                <mainClass>com.tutorialspoint.MainApp</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <configuration>
                        <archive>
                            <manifest>
                                <addClasspath>true</addClasspath>
                                <useUniqueVersions>false</useUniqueVersions>
                                <classpathPrefix>lib/</classpathPrefix>
                                <mainClass>com.tutorialspoint.MainApp</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    

      

    [root@d java]# tree -I target
    .
    ├── pom.xml
    ├── spring.iml
    └── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │   └── tutorialspoint
    │   │   ├── MainApp.java
    │   │   ├── StudentDAO.java
    │   │   ├── Student.java
    │   │   ├── StudentJDBCTemplate.java
    │   │   └── StudentMapper.java
    │   └── resources
    │   └── beans.xml
    └── test
    └── java

    8 directories, 8 files
    [root@d java]#

    com.tutorialspoint.StudentDAO

    package com.tutorialspoint;
    import java.util.List;
    import javax.sql.DataSource;
    public interface StudentDAO {
    /**
    * This is the method to be used to initialize
    * database resources ie. connection.
    */
    public void setDataSource(DataSource ds);
    /**
    * This is the method to be used to create
    * a record in the Student table.
    */
    public void create(String name, Integer age);
    /**
    * This is the method to be used to list down
    * a record from the Student table corresponding
    * to a passed student id.
    */
    public Student getStudent(Integer id);
    /**
    * This is the method to be used to list down
    * all the records from the Student table.
    */
    public List<Student> listStudents();
    /**
    * This is the method to be used to delete
    * a record from the Student table corresponding
    * to a passed student id.
    */
    public void delete(Integer id);
    /**
    * This is the method to be used to update
    * a record into the Student table.
    */
    public void update(Integer id, Integer age);
    }

    com.tutorialspoint.Student

    package com.tutorialspoint;
    public class Student {
    /**
    CREATE TABLE Student(
    ID INT NOT NULL AUTO_INCREMENT,
    NAME VARCHAR(20) NOT NULL,
    AGE INT NOT NULL,
    PRIMARY KEY (ID)
    );
    * */
    private Integer age;
    private String name;
    private Integer id;
    public void setAge(Integer age) {
    this.age = age;
    }
    public Integer getAge() {
    return age;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getName() {
    return name;
    }
    public void setId(Integer id) {
    this.id = id;
    }
    public Integer getId() {
    return id;
    }
    }

    com.tutorialspoint.StudentMapper

    package com.tutorialspoint;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import org.springframework.jdbc.core.RowMapper;
    public class StudentMapper implements RowMapper<Student> {
    public Student mapRow(ResultSet rs, int rowNum) throws SQLException {
    Student student = new Student();
    student.setId(rs.getInt("id"));
    student.setName(rs.getString("name"));
    student.setAge(rs.getInt("age"));
    return student;
    }
    }

    com.tutorialspoint.StudentJDBCTemplate

    package com.tutorialspoint;
    import java.util.List;
    import javax.sql.DataSource;
    import org.springframework.jdbc.core.JdbcTemplate;
    public class StudentJDBCTemplate implements StudentDAO {
    private DataSource dataSource;
    private JdbcTemplate jdbcTemplateObject;
    public void setDataSource(DataSource dataSource) {
    this.dataSource = dataSource;
    this.jdbcTemplateObject = new JdbcTemplate(dataSource);
    }
    public void create(String name, Integer age) {
    String SQL = "insert into Student (name, age) values (?, ?)";
    jdbcTemplateObject.update( SQL, name, age);
    System.out.println("Created Record Name = " + name + " Age = " + age);
    return;
    }
    public Student getStudent(Integer id) {
    String SQL = "select * from Student where id = ?";
    Student student = jdbcTemplateObject.queryForObject(SQL,
    new Object[]{id}, new StudentMapper());
    return student;
    }
    public List<Student> listStudents() {
    String SQL = "select * from Student";
    List <Student> students = jdbcTemplateObject.query(SQL,
    new StudentMapper());
    return students;
    }
    public void delete(Integer id){
    String SQL = "delete from Student where id = ?";
    jdbcTemplateObject.update(SQL, id);
    System.out.println("Deleted Record with ID = " + id );
    return;
    }
    public void update(Integer id, Integer age){
    String SQL = "update Student set age = ? where id = ?";
    jdbcTemplateObject.update(SQL, age, id);
    System.out.println("Updated Record with ID = " + id );
    return;
    }
    }

    com.tutorialspoint.MainApp

    package com.tutorialspoint;
    import java.util.List;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class MainApp {
    public static void main(String[] args) {
    //ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
    //ApplicationContext context = new ClassPathXmlApplicationContext("/data/gateway/java/src/main/resources/beans.xml");
    ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
    StudentJDBCTemplate studentJDBCTemplate =
    (StudentJDBCTemplate)context.getBean("studentJDBCTemplate");
    System.out.println("------Records Creation--------" );
    studentJDBCTemplate.create("Zara", 11);
    studentJDBCTemplate.create("Nuha", 2);
    studentJDBCTemplate.create("Ayan", 15);
    System.out.println("------Listing Multiple Records--------" );
    List<Student> students = studentJDBCTemplate.listStudents();
    for (Student record : students) {
    System.out.print("ID : " + record.getId() );
    System.out.print(", Name : " + record.getName() );
    System.out.println(", Age : " + record.getAge());
    }
    System.out.println("----Updating Record with ID = 2 -----" );
    studentJDBCTemplate.update(2, 20);
    System.out.println("----Listing Record with ID = 2 -----" );
    Student student = studentJDBCTemplate.getStudent(2);
    System.out.print("ID : " + student.getId() );
    System.out.print(", Name : " + student.getName() );
    System.out.println(", Age : " + student.getAge());
    }
    }

    [root@d java]# java -jar /data/gateway/java/target/HelloSpringJDBCMysql-0.0.1-SNAPSHOT-jar-with-dependencies.jar
    Dec 03, 2018 3:11:06 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
    INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@133314b: startup date [Mon Dec 03 15:11:06 CST 2018]; root of context hierarchy
    Dec 03, 2018 3:11:06 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    INFO: Loading XML bean definitions from class path resource [beans.xml]
    ------Records Creation--------
    Created Record Name = Zara Age = 11
    Created Record Name = Nuha Age = 2
    Created Record Name = Ayan Age = 15
    ------Listing Multiple Records--------
    ID : 1, Name : Zara, Age : 11
    ID : 2, Name : Nuha, Age : 2
    ID : 3, Name : Ayan, Age : 15
    ----Updating Record with ID = 2 -----
    Updated Record with ID = 2
    ----Listing Record with ID = 2 -----
    ID : 2, Name : Nuha, Age : 20
    [root@d java]#
    

      

  • 相关阅读:
    使用SQL Server Management Studio操作replication时,要用机器名登录,不要用IP地址
    SQL Server Replication 总结
    SQL Server 全文索引的硬伤(转载)
    Sqlserver2008及以上使用全文索引排除干扰词 (转载)
    如何恢复VS2013代码实时校验功能
    [VS2013]如何闪开安装VS2013必须要有安装IE10的限制
    C# ASP.NET Webservice调用外部exe无效的解决方法
    nstallShield制作打包程序详解(图)
    VS报错之混合模式程序集是针对“v1.1.4322”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。
    Android之悬浮窗口实现(WindowManager)
  • 原文地址:https://www.cnblogs.com/rsapaper/p/10058330.html
Copyright © 2020-2023  润新知