关于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

上一篇:今日总结


下一篇:选课系统