创建数据库
| CREATE DATABASE ssmbuild |
| |
| USE ssmbuild |
| CREATE TABLE books ( |
| bookID INT(10) NOT NULL AUTO_INCREMENT, |
| bookName VARCHAR(100) NOT NULL, |
| bookCounts INT(11) NOT NULL, |
| detail VARCHAR(200) NOT NULL, |
| KEY bookID (bookID) |
| )ENGINE=INNODB DEFAULT CHARSET=utf8 |
| |
| INSERT INTO books(bookID,bookName,bookCounts,detail) VALUES |
| (2,'MySQL',10,'从删库到跑路'),(3,'Linux',5,'从进门到进牢'); |
| |
连接数据库
编写实体类
| @Data |
| @AllArgsConstructor |
| @NoArgsConstructor |
| public class Books { |
| private int bookID; |
| private String bookName; |
| private int bookCounts; |
| private String detail; |
| } |
编写Dao接口
| public interface BookMapper { |
| |
| int add(Books books); |
| |
| |
| int deleteBook ( int id); |
| |
| |
| int updateBook (Books books); |
| |
| |
| Books selectBooks(int id); |
| |
| |
| List<Books> AllBooks(); |
| } |
编写Daomapper.xml配置文件
| <?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE mapper |
| PUBLIC "-//mybatis.org//DTD Config 3.0//EN" |
| "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| <mapper namespace="com.Google.dao.BookMapper"> |
| <!--增加一个Book--> |
| <insert id="add" parameterType="Books"> |
| insert into ssmbuild.books |
| (bookID, bookName, bookCounts, detail) |
| values (#{bookID}, #{bookName}, #{bookCounts}, #{detail}) |
| |
| </insert> |
| <!--根据id删除一个book--> |
| <delete id="deleteBook" parameterType="_int"> |
| delete |
| from ssmbuild.books |
| where bookID = #{bookID} |
| </delete> |
| |
| <!--更新BOOK--> |
| <update id="updateBook" parameterType="Books"> |
| update ssmbuild.books |
| set bookCounts=#{bookCounts},bookName=#{bookName},detail=#{detail} |
| where bookID = #{bookID} |
| </update> |
| |
| <!--根据ID查询,返回一个Book--> |
| <select id="selectBooks" parameterType="_int" resultType="Books"> |
| select * |
| from ssmbuild.books |
| where bookID = #{bookID} |
| |
| </select> |
| |
| <!--查询全部Book,返回list集合--> |
| <select id="AllBooks" resultType="Books"> |
| select * |
| from ssmbuild.books |
| </select> |
| </mapper> |
serivce接口
| package com.Google.service; |
| |
| import com.Google.pojo.Books; |
| |
| import java.util.List; |
| |
| public interface BookService { |
| |
| |
| int add(Books books); |
| |
| |
| int deleteBook ( int id); |
| |
| |
| int updateBook (Books books); |
| |
| |
| Books selectBooks(int id); |
| |
| |
| List<Books> AllBooks(); |
| |
| } |
service实现
| package com.Google.service; |
| |
| import com.Google.dao.BookMapper; |
| import com.Google.pojo.Books; |
| |
| import java.util.List; |
| |
| public class BookServiceImpl implements BookService { |
| private BookMapper bookMapper; |
| |
| public void setBookMapper(BookMapper bookMapper) { |
| this.bookMapper = bookMapper; |
| } |
| |
| @Override |
| public int add(Books books) { |
| return bookMapper.add(books); |
| } |
| |
| @Override |
| public int deleteBook(int id) { |
| return bookMapper.deleteBook(id); |
| } |
| |
| @Override |
| public int updateBook(Books books) { |
| return bookMapper.updateBook(books); |
| } |
| |
| @Override |
| public Books selectBooks(int id) { |
| return bookMapper.selectBooks(id); |
| } |
| |
| @Override |
| public List<Books> AllBooks() { |
| return bookMapper.AllBooks(); |
| } |
| } |
配置Mybatis-config.xml
| <?xml version="1.0" encoding="UTF-8" ?> |
| <!DOCTYPE configuration |
| PUBLIC "-//mybatis.org//DTD Config 3.0//EN" |
| "http://mybatis.org/dtd/mybatis-3-config.dtd"> |
| <configuration> |
| |
| <typeAliases> |
| <package name="com.Google.pojo"/> |
| </typeAliases> |
| |
| <mappers> |
| <mapper resource="com/Google/dao/BookMapper.xml"/> |
| </mappers> |
| |
| </configuration> |
编写database.properties
| jdbc.driver=com.mysql.jdbc.Driver |
| jdbc.url=jdbc:mysql: |
| jdbc.username=xxx |
| jdbc.password=xxx |
将dao层注入到Spring中(创建一个spring-dao.xml)
| <?xml version="1.0" encoding="UTF-8"?> |
| <beans xmlns="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:context="http://www.springframework.org/schema/context" |
| xsi:schemaLocation="http://www.springframework.org/schema/beans |
| http://www.springframework.org/schema/beans/spring-beans.xsd |
| http://www.springframework.org/schema/context |
| https://www.springframework.org/schema/context/spring-context.xsd"> |
| |
| |
| |
| <context:property-placeholder location="classpath:database.properties"/> |
| |
| |
| |
| |
| |
| |
| <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> |
| |
| <property name="driverClass" value="${jdbc.driver}"/> |
| <property name="jdbcUrl" value="${jdbc.url}"/> |
| <property name="user" value="${jdbc.username}"/> |
| <property name="password" value="${jdbc.password}"/> |
| |
| |
| <property name="maxPoolSize" value="30"/> |
| <property name="minPoolSize" value="10"/> |
| |
| <property name="autoCommitOnClose" value="false"/> |
| |
| <property name="checkoutTimeout" value="10000"/> |
| |
| <property name="acquireRetryAttempts" value="2"/> |
| </bean> |
| |
| |
| <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> |
| |
| <property name="dataSource" ref="dataSource"/> |
| |
| <property name="configLocation" value="classpath:mybatis-config.xml"/> |
| </bean> |
| |
| |
| |
| <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> |
| |
| <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> |
| |
| <property name="basePackage" value="com.Google.dao"/> |
| </bean> |
| |
| </beans> |
将service层注入到Spring中(创建一个spring-service.xml)
| <?xml version="1.0" encoding="UTF-8"?> |
| <beans xmlns="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:context="http://www.springframework.org/schema/context" |
| xsi:schemaLocation="http://www.springframework.org/schema/beans |
| http://www.springframework.org/schema/beans/spring-beans.xsd |
| http://www.springframework.org/schema/context |
| http://www.springframework.org/schema/context/spring-context.xsd"> |
| |
| |
| <context:component-scan base-package="com.Google.service"/> |
| |
| <bean id="BookServiceImpl" class="com.Google.service.BookServiceImpl"> |
| <property name="bookMapper" ref="bookMapper"/> |
| </bean> |
| |
| |
| <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> |
| |
| <property name="dataSource" ref="dataSource" /> |
| </bean> |
| |
| |
| </beans> |
添加WEB框架
配置web.xml
| <?xml version="1.0" encoding="UTF-8"?> |
| <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" |
| version="4.0"> |
| |
| <servlet> |
| <servlet-name>DispatcherServlet</servlet-name> |
| <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> |
| <init-param> |
| <param-name>contextConfigLocation</param-name> |
| |
| <param-value>classpath:applicationContext.xml</param-value> |
| </init-param> |
| |
| <load-on-startup>1</load-on-startup> |
| </servlet> |
| <servlet-mapping> |
| <servlet-name>DispatcherServlet</servlet-name> |
| <url-pattern>/</url-pattern> |
| </servlet-mapping> |
| |
| <filter> |
| <filter-name>encodingFilter</filter-name> |
| <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> |
| <init-param> |
| <param-name>encoding</param-name> |
| <param-value>utf-8</param-value> |
| </init-param> |
| </filter> |
| <filter-mapping> |
| <filter-name>encodingFilter</filter-name> |
| <url-pattern>/*</url-pattern> |
| </filter-mapping> |
| |
| <session-config> |
| <session-timeout>15</session-timeout> |
| </session-config> |
| </web-app> |
配置spring-mvc.xml
| <?xml version="1.0" encoding="UTF-8"?> |
| <beans xmlns="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xmlns:mvc="http://www.springframework.org/schema/mvc" |
| xmlns:context="http://www.springframework.org/schema/context" |
| xsi:schemaLocation="http://www.springframework.org/schema/beans |
| http://www.springframework.org/schema/beans/spring-beans.xsd |
| http://www.springframework.org/schema/mvc |
| http://www.springframework.org/schema/mvc/spring-mvc.xsd |
| http://www.springframework.org/schema/context |
| http://www.springframework.org/schema/context/spring-context.xsd"> |
| |
| <mvc:annotation-driven/> |
| |
| <mvc:default-servlet-handler/> |
| |
| <context:component-scan base-package="com.Google.controller"/> |
| |
| <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> |
| <property name="prefix" value="/WEB-INF/jsp/"/> |
| <property name="suffix" value=".jsp"/> |
| </bean> |
| </beans> |
将所有spring整合到一个applicationContext.xml中
| <?xml version="1.0" encoding="UTF-8"?> |
| <beans xmlns="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://www.springframework.org/schema/beans |
| http://www.springframework.org/schema/beans/spring-beans.xsd"> |
| <import resource="spring-dao.xml"/> |
| <import resource="spring-service.xml"/> |
| <import resource="spring-mvc.xml"/> |
| </beans> |
到这里所有的配置全部都已经完成
编写Controller
| @Controller |
| @RequestMapping("/book") |
| public class bookController { |
| |
| |
| @Autowired |
| @Qualifier("BookServiceImpl") |
| private BookService bookService; |
| |
| @RequestMapping("allBook") |
| ··· |
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术