-
使用模板构建1个maven项目

-
导入依赖
| <dependencies> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-webmvc</artifactId> |
| <version>5.2.10.RELEASE</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-jdbc</artifactId> |
| <version>5.2.10.RELEASE</version> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-test</artifactId> |
| <version>5.2.10.RELEASE</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mybatis</groupId> |
| <artifactId>mybatis</artifactId> |
| <version>3.5.6</version> |
| </dependency> |
| <dependency> |
| <groupId>org.mybatis</groupId> |
| <artifactId>mybatis-spring</artifactId> |
| <version>1.3.0</version> |
| </dependency> |
| <dependency> |
| <groupId>mysql</groupId> |
| <artifactId>mysql-connector-java</artifactId> |
| <version>5.1.47</version> |
| </dependency> |
| <dependency> |
| <groupId>com.alibaba</groupId> |
| <artifactId>druid</artifactId> |
| <version>1.1.16</version> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.12</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>javax.servlet</groupId> |
| <artifactId>javax.servlet-api</artifactId> |
| <version>3.1.0</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.fasterxml.jackson.core</groupId> |
| <artifactId>jackson-databind</artifactId> |
| <version>2.9.0</version> |
| </dependency> |
| </dependencies> |
| jdbc.driver=com.mysql.jdbc.Driver |
| jdbc.url=jdbc:mysql://localhost:3306/ssm_db |
| jdbc.username=root |
| jdbc.password=root |
| public class JdbcConfig { |
| |
| |
| @Value("${jdbc.driver}") |
| private String driver; |
| |
| @Value("${jdbc.url}") |
| private String url; |
| |
| @Value("${jdbc.username}") |
| private String username; |
| |
| @Value("${jdbc.password}") |
| private String password; |
| |
| |
| @Bean |
| public DataSource dataSource(){ |
| DruidDataSource dataSource = new DruidDataSource(); |
| dataSource.setDriverClassName(driver); |
| dataSource.setUrl(url); |
| dataSource.setUsername(username); |
| dataSource.setPassword(password); |
| return dataSource; |
| } |
| |
| } |
| |
| public class MyBatisConfig { |
| |
| |
| @Bean |
| public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource){ |
| SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean(); |
| factoryBean.setDataSource(dataSource); |
| factoryBean.setTypeAliasesPackage("com.itheima.domain"); |
| return factoryBean; |
| } |
| |
| |
| @Bean |
| public MapperScannerConfigurer mapperScannerConfigurer(){ |
| MapperScannerConfigurer msc = new MapperScannerConfigurer(); |
| msc.setBasePackage("com.itheima.dao"); |
| return msc; |
| } |
| |
| } |
| |
| |
| |
| |
| public class ServletConfig extends AbstractAnnotationConfigDispatcherServletInitializer { |
| |
| |
| |
| |
| |
| |
| protected Class<?>[] getRootConfigClasses() { |
| return new Class[]{SpringConfig.class}; |
| } |
| |
| |
| |
| |
| |
| |
| protected Class<?>[] getServletConfigClasses() { |
| return new Class[]{SpringMvcConfig.class}; |
| } |
| |
| |
| |
| |
| |
| protected String[] getServletMappings() { |
| return new String[]{"/"}; |
| } |
| |
| } |
| |
| |
| |
| |
| @Configuration |
| @ComponentScan({"com.itheima.service"}) |
| @PropertySource("classpath:jdbc.properties") |
| @Import({JdbcConfig.class,MyBatisConfig.class}) |
| @EnableTransactionManagement |
| public class SpringConfig { |
| |
| } |
| |
| |
| |
| |
| @Configuration |
| @ComponentScan("com.itheima.controller") |
| @EnableWebMvc |
| public class SpringMvcConfig { |
| |
| } |
| CREATE TABLE `tbl_book` ( |
| `id` int(11) NOT NULL AUTO_INCREMENT, |
| `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, |
| `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, |
| `description` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, |
| PRIMARY KEY (`id`) USING BTREE |
| ) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; |
| |
| INSERT INTO `tbl_book` VALUES (1, '计算机理论', 'Spring实战 第5版', 'Spring入门经典教程,深入理解Spring原理技术内幕'); |
| INSERT INTO `tbl_book` VALUES (2, '计算机理论', 'Spring 5核心原理与30个类手写实战', '十年沉淀之作,手写Spring精华思想'); |
| INSERT INTO `tbl_book` VALUES (3, '计算机理论', 'Spring 5 设计模式', '深入Spring源码剖析Spring源码中蕴含的10大设计模式'); |
| INSERT INTO `tbl_book` VALUES (4, '计算机理论', 'Spring MVC+MyBatis开发从入门到项目实战', '全方位解析面向Web应用的轻量级框架,带你成为Spring MVC开发高手'); |
| INSERT INTO `tbl_book` VALUES (5, '计算机理论', '轻量级Java Web企业应用实战', '源码级剖析Spring框架,适合已掌握Java基础的读者'); |
| INSERT INTO `tbl_book` VALUES (6, '计算机理论', 'Java核心技术 卷I 基础知识(原书第11版)', 'Core Java 第11版,Jolt大奖获奖作品,针对Java SE9、10、11全面更新'); |
| INSERT INTO `tbl_book` VALUES (7, '计算机理论', '深入理解Java虚拟机', '5个维度全面剖析JVM,大厂面试知识点全覆盖'); |
| INSERT INTO `tbl_book` VALUES (8, '计算机理论', 'Java编程思想(第4版)', 'Java学习必读经典,殿堂级著作!赢得了全球程序员的广泛赞誉'); |
| INSERT INTO `tbl_book` VALUES (9, '计算机理论', '零基础学Java(全彩版)', '零基础自学编程的入门图书,由浅入深,详解Java语言的编程思想和核心技术'); |
| INSERT INTO `tbl_book` VALUES (10, '市场营销', '直播就该这么做:主播高效沟通实战指南', '李子柒、李佳琦、薇娅成长为网红的秘密都在书中'); |
| INSERT INTO `tbl_book` VALUES (11, '市场营销', '直播销讲实战一本通', '和秋叶一起学系列网络营销书籍'); |
| INSERT INTO `tbl_book` VALUES (12, '市场营销', '直播带货:淘宝、天猫直播从新手到高手', '一本教你如何玩转直播的书,10堂课轻松实现带货月入3W+'); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通