maven项目jdbc连接sql server数据库,并调用存储过程示例

1、导入maven关于sql server依赖

        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>7.4.1.jre8</version>
        </dependency>

2、jdbc连接sql server数据并调用存储过程

   //sql server 驱动name
    final String DRIVER_CLASS = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    //sql server 数据库ip,端口以及数据库名称
    final String DATABASE_URL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test";
    //sql server 用户名
    final String DATABASE_USRE = "root";
    //密码
    final String DATABASE_PASSWORD = "1234";
    //执行的存储过程  dbo - 数据库名称 ;procedure - 存储过程名称 ; ?占位符- 存储过程的入参和出参
    /**
     * 其中?占位符为IN、OUT 还是INOUT 参数
     * 将IN 参数传给 CallableStatement 对象是通过 setXXX 方法完成的。该方法继承自
     * PreparedStatement。所传入参数的类型决定了所用的setXXX 方法(例如,用 setFloat 来传入
     * float 值等)。
     * 如果已储存过程返回 OUT 参数,则在执行 CallableStatement 对象以前必须先注册每个OUT
     * 参数的 JDBC 类型(这是必需的,因为某些 DBMS 要求 JDBC 类型)。注册 JDBC 类型是用
     * registerOutParameter 方法来完成的。语句执行完后,CallableStatement 的 getXXX 方法将取回
     * 参数值。正确的 getXXX 方法是为各参数所注册的 JDBC 类型所对应的 Java 类型。换言之,
     * registerOutParameter 使用的是 JDBC 类型(因此它与数据库返回的 JDBC 类型匹配),而 getXXX将之转换为 Java 类型。
     */
    final String PROCEDURE = "{ call [dbo].[procedure](?,?,?,?,?)}";
    public void callProcedure(){
        Connection conn = null;
        CallableStatement stat = null;
        try{
            //获取数据库连接
            Class.forName(DRIVER_CLASS);
            conn = DriverManager.getConnection(DATABASE_URL, DATABASE_USRE, DATABASE_PASSWORD);
            //通过Connection 方法 prepareCall 创建CallableStatement对象
            stat = conn.prepareCall(PROCEDURE);

            /**
             * 以下的setXXX(),registerOutParameter(),getXXX()中的1,2,3····均表示
             * "{ call [dbo].[procedure](?,?,?,?,?)}" 存储过程的第几个?占位符
             */
            //通过setXXX方法进行存储过程入参
            stat.setInt(1, 0);
            stat.setString(2, "test");
            //通过registerOutParameter方法出参
            /**
             * Types.INTEGER 表示该参数为数值类型
             * Types.VARCHAR 表示该参数为字符串类型
             * 其他类推
             */
            stat.registerOutParameter(3, Types.INTEGER);
            stat.registerOutParameter(4, Types.VARCHAR);
            stat.registerOutParameter(5, Types.VARCHAR);
            //执行
            stat.execute();

            //输出参数字段对应
            //通过getXXX方法获取出参
            System.out.println(stat.getInt(3));
            System.out.println(stat.getString(4));
            System.out.println(stat.getString(5));
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            //关闭数据库连接
            close(conn, stat);
        }
    }
//关闭数据库连接
public void close(Connection conn, CallableStatement stat)  {
        if (stat != null) {
            try {
                stat.close();
            }catch (SQLException e){
                e.printStackTrace();
            }finally {
                stat = null;
            }
        }
        if (conn != null) {
            try{
                conn.close();
            }catch (SQLException e){
                e.printStackTrace();
            }finally {
                conn = null;
            }
        }
    }
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.添加数据库驱动 在Maven项目中,需要将数据库驱动程序添加到项目依赖中。可以在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.25</version> </dependency> ``` 这里以mysql数据库为例,如果使用其他数据库,需要替换相应的驱动程序。 2.配置数据库连接信息 在Maven项目中,可以在application.properties或application.yml文件中配置数据库连接信息。下面是一个示例application.properties文件: ``` spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 在这个示例中,数据库的URL为“jdbc:mysql://localhost:3306/mydb”,用户名为“root”,密码为“123456”,驱动程序为“com.mysql.cj.jdbc.Driver”。 3.使用JdbcTemplate连接数据库Maven项目中,可以使用Spring的JdbcTemplate来连接数据库JdbcTemplate提供了一种简便的方式来执行SQL查询和更新操作。下面是一个示例代码: ``` @Autowired private JdbcTemplate jdbcTemplate; public List<User> getUsers() { String sql = "SELECT * FROM user"; List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper(User.class)); return users; } ``` 在这个示例中,首先注入了一个JdbcTemplate实例,然后使用该实例执行了一个SELECT查询,并将结果转换为一个User对象列表。可以通过调用jdbcTemplate的update()方法来执行INSERT、UPDATE和DELETE操作。 以上就是使用Maven连接数据库的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值