zoukankan      html  css  js  c++  java
  • springBoot整合JDBC

    在springboot项目中利用jdbc插入sql语句

    package com.zy.pj.sys.dao;
    import org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import javax.sql.DataSource;
    import java.sql.*;
    
    /*通过此单元测试类获取数据源对象
    *@SpringBootTest 注解描述的类为springboot中的单元测试类
    * 说明
    * 1、springboot中的单元测试类必须放在启动类所在包或子包
    * 2、springboot中单元测试类必须使用springbootTest注解描述*/
    @SpringBootTest
    public class DataSourceTests {
        /*在项目中添加了数据库相关依赖,springboot底层会自动帮助我们配置一个数据源
        * @Autowired注解描述属性时,是高数spring容器,要基于反射机制为属性赋值(依赖注入)*/
        @Autowired
        private DataSource dataSource;
        @Test
        void testgetConnection() throws SQLException {
            //获取连接时,会基于datasource获取到连接池对象,从而从池中获取连接
            Connection connection = dataSource.getConnection();
            System.out.println("con="+connection);
        }
        @Test
        void TestSaveNotice() throws SQLException, ClassNotFoundException { //通过此方法基于jdbc向数据库写入一条数据
            //创建连接
            Connection conn = dataSource.getConnection();
            //创建statement (sql传送器  ==》负责与将sql发生到数据端)
            String sql="insert into sys_notice(title,content,type,status,createdTime,createdUser,modifiedTime,modifiedUser)"+
                                "Value('结课通知','2021/4/16 4月','1','0',now(),'tony',now(),'tony')";
            Statement statement =conn.prepareStatement(sql);
            //发送sql
            boolean flag = statement.execute(sql);
            //处理结果
            if (flag){
                System.out.println("insert ok");
            }
            //释放资源
            statement.close();
            conn.close();
        }
        
         @Test
        void TestSaveNotice01() throws SQLException, ClassNotFoundException { //通过此方法基于jdbc向数据库写入一条数据
            //创建连接
            Connection con = dataSource.getConnection();
            //创建statement (sql传送器  ==》负责与将sql发生到数据端)
            String sql="insert into             sys_notice(title,content,type,status,createdTime,createdUser,modifiedTime,modifiedUser)"+
                    "Value(?,?,?,?,?,?,?,?)"; //?表示占位符
            PreparedStatement st =con.prepareStatement(sql); //预编译方式创建statement
            //发送sql
           st.setString(1, "论文通知");
           st.setString(2, "通知");
           st.setString(3, "1");
           st.setString(4, "0");
           st.setTimestamp(5, new Timestamp(System.currentTimeMillis()));
           st.setString(6, "json");
           st.setTimestamp(7, new Timestamp(System.currentTimeMillis()));
           st.setString(8, "tony");
           st.execute();
    
            //处理结果
            //释放资源
            st.close();
            con.close();
    
            }
    
    
    
    }

    了解更详细的代码,请点击:https://gitee.com/zhaoyuanq994/code

    正在学习中,有错误的地方,请多多指教!
  • 相关阅读:
    android 和 java 调色板
    BroadCast简述
    android intent
    android intent隐身启动和Intent过滤器
    坦克大战(TankWar)
    android menu
    WAS5.1上LogFactory的错误
    持续加班的夜晚中
    忙,无心写blog
    曾经,我是那么的有激情
  • 原文地址:https://www.cnblogs.com/16904985zy-aoyu/p/14671070.html
Copyright © 2011-2022 走看看