使用JDBC操作数据库

*前提:我在虚拟机中有个数据库myexp,有表winexp,有数据name,orderdate,cost*

使用Java中maven工程webapp文件

org.apache.maven.archetypes:maven-archetype-webapp

在maven文件包可中加入该mirror下载镜像

 <mirror>
                  <id>alimaven</id>
                  <name>aliyun maven</name>
                  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                  <mirrorOf>central</mirrorOf>
            </mirror>
            
            <mirror>
                  <id>alimaven</id>
                  <mirrorOf>central</mirrorOf>
                  <name>aliyun maven</name>
                  <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
            </mirror>
            <mirror>
                  <id>aliyun-public</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun public</name>
                  <url>https://maven.aliyun.com/repository/public</url>
            </mirror>

            <mirror>
                  <id>aliyun-central</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun central</name>
                  <url>https://maven.aliyun.com/repository/central</url>
            </mirror>

            <mirror>
                  <id>aliyun-spring</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun spring</name>
                  <url>https://maven.aliyun.com/repository/spring</url>
            </mirror>

            <mirror>
                  <id>aliyun-spring-plugin</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun spring-plugin</name>
                  <url>https://maven.aliyun.com/repository/spring-plugin</url>
            </mirror>

            <mirror>
                  <id>aliyun-apache-snapshots</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun apache-snapshots</name>
                  <url>https://maven.aliyun.com/repository/apache-snapshots</url>
            </mirror>

            <mirror>
                  <id>aliyun-google</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun google</name>
                  <url>https://maven.aliyun.com/repository/google</url>
            </mirror>

            <mirror>
                  <id>aliyun-gradle-plugin</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun gradle-plugin</name>
                  <url>https://maven.aliyun.com/repository/gradle-plugin</url>
            </mirror>

            <mirror>
                  <id>aliyun-jcenter</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun jcenter</name>
                  <url>https://maven.aliyun.com/repository/jcenter</url>
            </mirror>

            <mirror>
                  <id>aliyun-releases</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun releases</name>
                  <url>https://maven.aliyun.com/repository/releases</url>
            </mirror>

            <mirror>
                  <id>aliyun-snapshots</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun snapshots</name>
                  <url>https://maven.aliyun.com/repository/snapshots</url>
            </mirror>  

            <mirror>
                  <id>aliyun-grails-core</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun grails-core</name>
                  <url>https://maven.aliyun.com/repository/grails-core</url>
            </mirror>

            <mirror>
                  <id>aliyun-mapr-public</id>
                  <mirrorOf>*</mirrorOf>
                  <name>aliyun mapr-public</name>
                  <url>https://maven.aliyun.com/repository/mapr-public</url>
            </mirror>

  </mirrors>

在将几处设置改为符合该Java版本java8

在此次加入mysql包:

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->

在此加入:

 <dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <version>1.18.20</version>
  </dependency>           //(该包可让我们让我们有更多的快捷方法,不用写getset方法)

写代码时要加入该代码(192.168.52.139为虚拟机IP地址myexp为数据库(数据库下面有表)名字)

  //加载驱动、 
Class.forName("com.mysql.cj.jdbc.Driver");       
  //获取数据库 connection 链接接口
Connection connection = DriverManager.getConnection("jdbc:mysql://192.168.52.139:3306/myexp?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&allowPublicKeyRetrieval=true","root", "ok");   

语法糖(把数据打包成web(包)给前端)

其中的winexp是创建一个要查找的文件winexp保存文件变量

语法是:

        //准备执行查询命令 preparedstatement 预处理接口
        PreparedStatement pastat = connection.prepareStatement("select * from winexp");
        //查询数据库表 把结果存放到resultset 结果集
        ResultSet rs = pastat.executeQuery();
        //给前端的集合
        List<Winexp> wes= new ArrayList<>();
        //查看结果
        while (rs.next()){
      Winexp we= Winexp.builder().
                    name(rs.getString("name")).
                    orderdate(rs.getDate("orderdate")).
                    cost(rs.getInt("cost")).build();
                wes.add(we);           //语法糖
        }
        //关闭链接
        rs.close();
        pastat.close();
        connection.close();

查询命令

        //查询
        //准备执行查询命令 preparedstatement 预处理接口
        PreparedStatement pastat = connection.prepareStatement("select * from winexp");
        //查询数据库表 把结果存放到resultset 结果集
        ResultSet rs = pastat.executeQuery();
        //给前端的集合
        List<Winexp> wes= new ArrayList<>();
        //查看结果
        while (rs.next()){
         //正常查询
        System.out.println(rs.getString("name")+"==="+rs.getDate("orderdate")+"==="+
         rs.getInt("cost"));  
             
           //语法糖
            Winexp we= Winexp.builder().
                    name(rs.getString("name")).
                    orderdate(rs.getDate("orderdate")).
                    cost(rs.getInt("cost")).build();
                wes.add(we);           
        }
        //关闭链接
        rs.close();
        pastat.close();
        connection.close();

增加命令

        //增加
//        //准备执行查询命令 preparedstatement 预处理接口
        PreparedStatement pstat = connection.prepareStatement("insert into winexp values(?,?,?)");
        //向?中填充值
         pstat.setString(1,"zs");
         pstat.setDate(2,new Date(1999,5,6));
         pstat.setInt(3,10000);
         //执行命令  
      pstat executeUpdate();

改写命令

     改
   PreparedStatement pstat = connection.prepareStatement("update  winexp set orderdate=? where name=?");
   pstat.setDate(1,new Date(99,7,3));
   pstat.setString(2,"zs");
   pstat.executeUpdate();

删除命令

        //删除
        PreparedStatement paste = connection.prepareStatement("delete from winexp where name=?");
        paste.setString(1,"zs");
        paste.executeUpdate();

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值