springboot+SQLServer
参考原链接: https://blog.csdn.net/dianhuilu4947/article/details/81866392
写了一个小程序,完成简单的接收数据传输,数据库使用的是sqlserver,下面记录一下连接数据库并完成存储的过程
创建sprignboot项目
pom文件
<!--数据库相关-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.2.0.jre8</version>
<scope>runtime</scope>
</dependency>
导入sqlserver相关jar包
下载jar包,到 官网 选择
cmd导入到本地仓库
mvn install:install-file -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 -Dpackaging=jar -Dfile=sqljdbc4.jar
-DgroupId对应为pom文件中的groupId
-DartifactId对应为pom文件中的artifactId
-Dversion对应为pom文件中的version
-Dpackaging导入包的类型是jar包的话就是jar
-Dfile你下载下来的jar包放的路径
如果pom中还是爆红,那么就是版本的问题,需要把版本改成8或者下一个版本低的jar
配置数据源
springboot默认使用Hikari数据源
spring.datasource.url=jdbc:sqlserver://端口;DatabaseName=数据库名
spring.datasource.password=123
spring.datasource.username=sa
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
获取数据源
@Repository
public class DataDao{
private final static Logger logger = LoggerFactory.getLogger(DataDao.class); //使用logback日志
public static final String DELETE_SQL = "truncate table dbo;";
@Autowired
private DataSource dataSource;
//删除数据
public void deleteData() throws SQLException{
Connection conn = null;
PreparedStatement stmt = null;
try {
conn = DBUtils.getConnection(dataSource);
System.out.println(conn.toString());
//开启事务
conn.setAutoCommit(false);
//设置事务隔离级别
conn.setTransactionIsolation(2);
stmt = conn.prepareStatement(DELETE__SQL);
int num = stmt.executeUpdate();
conn.commit();
logger.info("已清除数据表中数据");
} catch (SQLException e) {
logger.error(e.toString());
if (conn != null) {
try {
//发生错误先回滚
conn.rollback();
} catch (SQLException e1) {
e.printStackTrace();
}
}
throw new SQLException(e.getMessage());
} finally {
try {
DBUtils.close(stmt,conn);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public class DBUtils {
//获取连接
public static Connection getConnection(DataSource dataSource)throws SQLException{
Connection conn = dataSource.getConnection();
return conn;
}
//关闭资源
public static void close(PreparedStatement ps,Connection conn) throws SQLException{
if (ps != null && !ps.isClosed()){
ps.isClosed();
}
if (conn != null && !conn.isClosed()) {
conn.close();
}
}
}
注意datasource使用的是springboot的配置,所以不能自己写一个main方法测试,要在springboot自带的Test类中进行测试,或启动springbootApplication,否则会出现找不到数据源的错误!