IBookDAO接口
public interface IBookDAO {
public int addBook(Book bok);
}
IBookDAO.xml <?xml version="1.0" encoding="UTF-8" ?>
<!--头文件-->
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.happy.spring21ssmxml.dao.IBookDAO">
<insert id="addBook">
insert into book(bookname,bookprice) values(#{bookName},#{bookPrice})
</insert>
</mapper>
entity层 Book实体类public class Book {
private Integer bookId;
private String bookName;
private Integer bookPrice;
public Integer getBookId() {
return bookId;
}
public void setBookId(Integer bookId) {
this.bookId = bookId;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public Integer getBookPrice() {
return bookPrice;
}
public void setBookPrice(Integer bookPrice) {
this.bookPrice = bookPrice;
}
}
service BookServiceImpl public class BookServiceImpl implements IBookService {
//植入dao
IBookDAO dao;
public int addBook(Book book) {
return dao.addBook(book);
}
public IBookDAO getDao() {
return dao;
}
public void setDao(IBookDAO dao) {
this.dao = dao;
}
}
IBookService接口 public interface IBookService {
public int addBook(Book bok);
}
applicationContextspring19ssm.xml配置 <!--01.识别jdbc.properties文件-->
<context:property-placeholder location="jdbc.properties"></context:property-placeholder>
<!--jdbc-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.user}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
<!--工厂配置-->
<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="configLocation" value="classpath:MyBatis-config.xml"></property>
</bean>
<!--dao-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.happy.spring21ssmxml.dao"></property>
<property name="sqlSessionFactoryBeanName" value="sessionFactory"></property>
</bean>
<!--service-->
<bean id="bookService" class="cn.happy.spring21ssmxml.service.BookServiceImpl">
<property name="dao" ref="IBookDAO"></property>
</bean>
<!--事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- 第三种:AspectJ AOP 配置事务 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="buy*" isolation="DEFAULT" propagation="REQUIRED" rollback-for="StockException"/>
</tx:attributes>
</tx:advice>
<aop:config>
<!--配置了切点Pointcut-->
<aop:pointcut id="mypoint" expression="execution(* *..service.*.*(..))"/>
<!--顾问-->
<aop:advisor advice-ref="txAdvice" pointcut-ref="mypoint"></aop:advisor>
</aop:config>
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="cn.happy.spring21ssmxml.entity"></package>
</typeAliases>
</configuration>
测试类public class SpringTest0806 {
@Test
public void test01(){
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContextspring19ssm.xml");
IBookService service = (IBookService) ctx.getBean("bookService");
Book book=new Book();
book.setBookName("活着");
book.setBookPrice(12);
service.addBook(book);
}
}