- 导入pom坐标 Springboot的基本依赖,关于具体的每一个的作用有对应的注释
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.1</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!-- mybatis的依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency> <!-- mysql的链接驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- springboot的测试类--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- EasyExcel报表数据--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.3</version> </dependency> <!-- 德鲁伊数据库连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.2</version> </dependency> <!-- 导入mybatisplus的依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency> <!-- 导入lombok坐标,简化封装对象类的操作--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <!-- sqlserver的链接驱动--> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <scope>runtime</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2. 配置对应的层次结构,在这跟mybaits一样配置
Mapper层
@Mapper
public interface Insmapper extends BaseMapper<Ins_cost> {
}
Pojo层
@NoArgsConstructor//有参构造
@AllArgsConstructor//无参构造
@Data//方法
@Builder//生成对象
public class File1 {
// 根据Excel中指定列名或列的索引读取,并且对其中的数据进行转换
@ExcelProperty(value = "GP")
private String value;
@ExcelProperty(value = "SEX")
private String sex;
// lombok 会生成getter/setter方法
}
Service层
public interface InService extends IService<Ins_cost> {
}
实现层
@Service
public class InServiceImp extends ServiceImpl<Insmapper, Ins_cost> implements InService {
}
启动引导类
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
properties配置类
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://tstsvr;TrustServerCertificate=True;databaseName=##
spring.datasource.username=###
spring.datasource.password=###
编写test类
@Autowired
private InService service;
@Test
public void sqlTest()
{
List<Ins_cost> list = service.list();
System.out.println(list);
}
执行过程中遇见的常见bug及其解决方式
com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target”。 ClientConnectionId:4347a582-6c6b-4e5c-9475-d3b337da15ff
解决方法
- Jdk配置文件的修改
在Java的安装目录的\conf\security下,打开并编辑java.security文件
打开文件后,修改jdk.tls.disabledAlgorithms这一项,去掉3DES_EDE_CBC,字符。然后重新启动项目,调用数据库执行SQL就没问题了
下面还有一个 3DES_EDE_CBC,也干掉就好了
重启电脑如果依然报这个SSL错误
更改properties的配置文件,加上这一段
加上这一段如果报
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败
解决方案 :
打开SQL Server Configuration Manager,点击SQL Server 网络配置前面的三角号,选择SQLEXPRESS协议,查看TCP/IP的状态是否是已启用,如果是已禁用,则右键点击TCP/IP选项,选择启用,如下图所示:
然后右键点击TCP/IP选项,选择属性,选择IP地址,拉到最下面,可以看到IPAll,TCP端口填写为1433,点击确定。
然后选择SQL Navite Client 10.0配置下的客户端协议,在这里保证TCP/IP的状态为已启用,如下图所示:
右键点击TCP/IP,选择属性,可以看到这里默认端口也是1433。如下图所示
最后要重启服务才可以保证修改生效,选择SQL Server服务下的SQL Server ,右键选择重新启动,重启服务如下图所示: