[个⼈笔记]在SSM项⽬上实现增删改查
关于SSM
SSM(Spring + Spring MVC + MyBatis)
Spring :Spring是⼀个轻量级的控制反转(IoC)和⾯向切⾯(AOP)的容器框架。
控制反转 (IoC):依赖注⼊是控制反转的⼀种技术,控制反转是⼀个通⽤的概念,⼤致理解为将你设计好的对象交给容器控制,⽽不是传统的在你的对象内部直接控制。
⾯向切⾯ (AOP):系统是由许多组件组成,每个组件各负责⼀块特定功能,还有可能承担⽇志,事务管理和安全等系统服务中去,这些系统服务称为横切关注点,因为它可以跨越系统的多个组件。
Spring MVC :Spring MVC是⼀种实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,基于MVC的构架思想可以对Web层起到⼀定的解耦作⽤,简化⽇常开发。
MVC思想将⼀个应⽤分成三个基本部分:Model(模型)、View(视图)、Controller(控制器)
MyBatis:MyBatis是⼀个⽀持普通SQL查询,存储过程和⾼级映射的优秀持久层框架。
相⽐于之前的Servlet开发,我们除了需要⾃⼰提供 SQL 外,还必须操作 Connection、Statment、ResultSet,不仅如此,为了访问不同的表,不同字段的数据,我们需要些很多雷同模板化的代码,闲的繁琐⼜枯燥。⽽使⽤了 MyBatis 之后,只需要提供 SQL 语句就好了。
接下来的各个类的截图
这⾥的PageInfo暂时为空
1.在resources新建db.properties
(1)数据库配置⽂件 db.properties
主要⽤来存放连接数据库的⼀些信息,在此之前需要现在本地mysql中新建相关的表,我是⽤的库名为ssmt,表名字段机构如图:
spring和springMVC的配置⽂件 l和l
这部分是ssm框架中spring和springMVC部分的配置⽂件(这部分代码是照搬加部分修改的,修改部分就根据注释改和⾃⼰匹配的⼀些内容)
xmlns:context="/schema/context"
xmlns:aop="/schema/aop"
xmlns:tx="/schema/tx"
xsi:schemaLocation="/schema/beans
/schema/beans/spring-beans-4.3.xsd
/schema/context
/schema/context/spring-context-4.3.xsd
/schema/aop
/schema/aop/spring-aop-4.3.xsd
/schema/tx
/schema/tx/spring-tx-4.3.xsd">
<!--1.配置数据库相关参数properties的属性:${url}-->
<context:property-placeholder location="classpath:db.properties"/>
<!--2.配置数据源-->
<bean id="dataSource"class="hange.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="2"/>
</bean>
<!--3.配置SqlSessionFactory对象-->
<bean id="sqlSessionFactory"class="batis.spring.SqlSessionFactoryBean">
<!--注⼊数据库连接池-->
<property name="dataSource" ref="dataSource"/>
<!--扫描bean包使⽤别名-->
<property name="typeAliasesPackage" value="com.zhongruan.bean"></property>
<!--配置加载映射⽂件 l-->
<property name="mapperLocations" value="classpath:mapper/*.xml"/>
</bean>
<!--⾃动⽣成dao,mapper-->
<!--4.配置扫描Dao接⼝包,动态实现Dao接⼝,注⼊到spring容器中-->
<bean class="batis.spring.mapper.MapperScannerConfigurer">
<!--给出需要扫描Dao接⼝包-->
<property name="basePackage" value="com.zhongruan.dao"/>
<!--注⼊sqlSessionFactory -->
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
<!--⾃动扫描-->
<context:component-scan base-package="com.zhongruan"/>
<!--配置事务-->
<!--5.配置事务管理器-->
<bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/>
</bean>
<!--6.开启事务注解-->
<tx:annotation-driven></tx:annotation-driven>
</beans>
xmlns:mvc="/schema/mvc"
xmlns:context="/schema/context"
xmlns:aop="/schema/aop"
xmlns:tx="/schema/tx"
xsi:schemaLocation="/schema/beans
/schema/beans/spring-beans-4.3.xsd
/schema/mvc
/schema/mvc/spring-mvc-4.3.xsd
/schema/context
/schema/context/spring-context-4.3.xsd
/schema/aop
/schema/aop/spring-aop-4.3.xsd
/schema/tx
/schema/tx/spring-tx-4.3.xsd">
<!--1.注解扫描位置-->
<context:component-scan base-package="ller"/>
<!--2.配置映射处理和适配器-->
<bean class="org.springframework.web.hod.annotation.RequestMappingHandlerMapping"/> <bean class="org.springframework.web.hod.annotation.RequestMappingHandlerAdapter"/>
<!--3.视图的解析器-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
实体类User
在实体类中需要声明User的熟悉,和数据库中的信息⼀致
(tips:通过Ctrl+ins可以快捷插⼊getter and setter 以及toString)
package com.zhongruan.bean;
public class User {
private int id;
private String username;
private String password;
public User(){
}
public User(String username, String password){
this.username = username;
this.password = password;
}
public User(int id, String username, String password){
this.id = id;
this.username = username;
this.password = password;
}
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
ssm框架主要代码在哪里public String getUsername(){
return username;
}
public void setUsername(String username){
this.username = username;
}
public String getPassword(){
return password;
}
public void setPassword(String password){
this.password = password;
}
@Override
public String toString(){
return"User{"+
"id="+ id +
", username='"+ username +'\''+
", password='"+ password +'\''+
'}';
}
}
实现CRUD功能(实现的顺序是差不多的,这⾥⼏种操作⼀起实现)⾸先在userDao写好接⼝,声明实现的⼏种⽅法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论