首页 > 经验记录 > Spring+Mybatis整合练习

Spring+Mybatis整合练习

比较麻烦的就是pom.xml的maven配置,有好多的包要写上来
重点就是applicationContext.xml这个Spring的配置文件,这回把Mybatis的SqlSession也交给他了
总之我注释写的很详细,以后哪一天忘了回来看应该还是看得懂的
 
 
pom.xml

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>top.yibobo.demos</groupId>
  <artifactId>ssmdemo1</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>ssmdemo1 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>
  <properties>
    <spring.version>5.0.4.RELEASE</spring.version>
    <slf4j.version>1.7.5</slf4j.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <!--导入mysql驱动类包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.6</version>
    </dependency>
    <!-- mybatis -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.5</version>
    </dependency>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.1</version>
    </dependency>
    <!-- spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.11</version>
    </dependency>
    <dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.1.2</version>
    </dependency>
    <!-- apache commons begin -->
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
      <version>1.8.3</version>
    </dependency>
    <dependency>
      <groupId>commons-digester</groupId>
      <artifactId>commons-digester</artifactId>
      <version>1.6</version>
    </dependency>
    <dependency>
      <groupId>commons-chain</groupId>
      <artifactId>commons-chain</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>4.3</version>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
      <version>4.3</version>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.6</version>
    </dependency>
    <dependency>
      <groupId>commons-validator</groupId>
      <artifactId>commons-validator</artifactId>
      <version>1.3.1</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.6.1</version>
    </dependency>
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>
    <!-- java -->
    <dependency>
      <groupId>javax.persistence</groupId>
      <artifactId>persistence-api</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>javax.inject</groupId>
      <artifactId>javax.inject</artifactId>
      <version>1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>taglibs</groupId>
      <artifactId>standard</artifactId>
      <version>1.1.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>se.jiderhamn.classloader-leak-prevention</groupId>
      <artifactId>classloader-leak-prevention-servlet</artifactId>
      <version>2.1.0</version>
    </dependency>
  </dependencies>
  <build>
    <finalName>ssmdemo1</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

 
Spring主配置文件
这里有个读取器,我写了个名字叫做mysql.properties的配置文件,主要就是用于连接数据库的几个参数在配置文件里定义了,就放这把

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test0605?serverTimezone=Asia/Shanghai
username=root
password=614

 
applicationContext

<?xml version="1.0" encoding="UTF-8"?>
<!--Spring bean容器配置文件-->
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xmlns:util="http://www.springframework.org/schema/util"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
	http://www.springframework.org/schema/aop
	http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
	http://www.springframework.org/schema/util
	http://www.springframework.org/schema/util/spring-util-4.1.xsd
	http://www.springframework.org/schema/tx
	http://www.springframework.org/schema/tx/spring-tx-4.1.xsd">
	<!--定义读取属性文件的读取器-->
	<util:properties id="reader" location="classpath:mysql.properties"/>
	<!--创建c3p0连接池数据源-->
	<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
		<property name="driverClass" value="#{reader[driver]}"/>
		<property name="jdbcUrl" value="#{reader[url]}"/>
		<property name="user" value="#{reader[username]}"/>
		<property name="password" value="#{reader[password]}"/>
		<property name="maxPoolSize" value="10"/>
		<property name="maxIdleTime" value="120"/>
	</bean>
	<!--mybatis SqlSessionFactory-->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource"/>
		<property name="mapperLocations" value="mapper/*.xml"/>
	</bean>
	<!--事务管理器-->
	<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">
		<property name="dataSource" ref="dataSource"/>
	</bean>
	<!--声明式事务-->
	<tx:advice transaction-manager="transactionManager" id="advisor1">
		<tx:attributes>
			<!--方法名正则匹配
			propagation传播行为:事务处理方式
			REQUIRED:切入点方法执行时,如果未开启事务,则开启新事务;若已开启事务,则加入到已开始的事务-->
			<tx:method name="add*" propagation="REQUIRED" isolation="DEFAULT"/>
			<tx:method name="update*" propagation="REQUIRED" isolation="DEFAULT"/>
			<tx:method name="delete*" propagation="REQUIRED" isolation="DEFAULT"/>
			<tx:method name="*" propagation="NOT_SUPPORTED" read-only="true"/>
		</tx:attributes>
	</tx:advice>
	<!--配置事务AOP-->
	<aop:config>
		<aop:pointcut id="p1" expression="execution(* top.yibobo.service.*.*(..))"/>
		<aop:advisor advice-ref="advisor1" pointcut-ref="p1"/>
	</aop:config>
	<!--定义Mapper实例-->
	<bean class="org.mybatis.spring.mapper.MapperFactoryBean" id="AuthorMapper">
		<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
		<property name="mapperInterface" value="top.yibobo.dao.AuthorMapper"/>
	</bean>
	<!--定义service实例-->
	<bean id="authorService" class="top.yibobo.service.AuthorMapperImpl">
		<property name="dao" ref="AuthorMapper"/>
	</bean>
	<!--定义Mapper实例-->
	<bean class="org.mybatis.spring.mapper.MapperFactoryBean" id="ArticleMapper">
		<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
		<property name="mapperInterface" value="top.yibobo.dao.ArticleMapper"/>
	</bean>
	<!--定义service实例-->
	<bean id="articleService" class="top.yibobo.service.ArticleMapperImpl">
		<property name="dao" ref="ArticleMapper"/>
	</bean>
	<!--定义Mapper实例-->
	<bean class="org.mybatis.spring.mapper.MapperFactoryBean" id="ArticleCommtMapper">
		<property name="sqlSessionFactory" ref="sqlSessionFactory"/>
		<property name="mapperInterface" value="top.yibobo.dao.ArticleCommtMapper"/>
	</bean>
	<!--定义service实例-->
	<bean id="articleCommtService" class="top.yibobo.service.ArticleCommtMapperImpl">
		<property name="dao" ref="ArticleCommtMapper"/>
	</bean>
</beans>

 
 
Mybatis的mapper.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">
<!--ArticleCommtMapper接口的映射文件-->
<mapper namespace="top.yibobo.dao.ArticleCommtMapper">
    <resultMap id="articlecommtlist1" type="top.yibobo.pojo.ArticleCommt">
        <id property="id" column="id"/>
        <result property="commt" column="commt"/>
        <result property="commtTime" column="commt_time"/>
        <!--<association property="author" column="au_id" javaType="Author"
                     select="top.yibobo.dao.AuthorDao.findById">
        </association>-->
        <!--<association property="article" column="ar_id" javaType="Article"
                     select="top.yibobo.dao.ArticleMapper.findById">
        </association>-->
    </resultMap>
    <select id="findAll" resultMap="articlecommtlist1">
        SELECT  * FROM article_commt
    </select>
    <select id="findById" resultMap="articlecommtlist1">
        SELECT  * FROM article_commt WHERE au_id=#{id}
    </select>
    <!--<select id="findById"/>-->
</mapper>

 

<?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">
<!--ArticleMapper接口的映射文件-->
<mapper namespace="top.yibobo.dao.ArticleMapper">
    <resultMap id="articlelist1" type="top.yibobo.pojo.Article">
        <id property="id" column="arid"/>
        <result property="title" column="title"/>
        <result property="content" column="content"/>
        <result property="publishTime" column="publish_time"/>
        <association property="author" javaType="top.yibobo.pojo.Author"
                     resultMap="top.yibobo.dao.AuthorMapper.authorlist1">
        </association>
    </resultMap>
    <sql id="find">
        SELECT au.id auid,name,sex,birthday,address,phone,
        ar.id arid,title,content,publish_time,au_id
        FROM article ar LEFT JOIN author au
        ON ar.au_id=au.id
    </sql>
    <sql id="where">
        <where>
            <if test="name!=null">
                name=#{name}
            </if>
            <if test="title!=null">
                AND tiele LIKE #{title}
            </if>
            <if test="ftime!=null and etime!=null">
                AND birthday BETWEEN #{ftime} AND #{etime}
            </if>
        </where>
    </sql>
    <select id="findPage" resultMap="articlelist1">
        <include refid="find"/>
        <include refid="where"/>
        <if test="orderby!=null">
            ORDER BY #{orderby}
            <choose>
                <when test="type!=null">
                   #{type}
                </when>
                <otherwise> ASC </otherwise>
            </choose>
        </if>
        <bind name="pageNo" value="(page-1)*pageSize"/>
        LIMIT #{pageNo},#{pageSize}
    </select>
    <select id="findAll" resultMap="articlelist1">
        <include refid="find"/>
    </select>
    <select id="findById" resultMap="articlelist1">
        <include refid="find"/>
        WHERE au.id=#{id}
    </select>
</mapper>

 

<?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">
<!--AuthorDao接口的映射文件-->
<mapper namespace="top.yibobo.dao.AuthorMapper">
    <resultMap id="authorlist1" type="top.yibobo.pojo.Author">
        <id property="id" column="auid"/>
        <result property="name" column="name"/>
        <result property="sex" column="sex"/>
        <result property="birthday" column="birthday"/>
        <result property="address" column="address"/>
        <result property="phone" column="phone"/>
    </resultMap>
  <select id="findById" resultMap="authorlist1">
      SELECT id auid,name,sex,birthday,address,phone FROM Author WHERE id=#{id}
  </select>
    <resultMap id="authorlist2" type="top.yibobo.pojo.Author">
        <id property="id" column="auid"/>
        <result property="name" column="name"/>
        <result property="sex" column="sex"/>
        <result property="birthday" column="birthday"/>
        <result property="address" column="address"/>
        <result property="phone" column="phone"/>
        <collection property="articles" column="auid"  select="top.yibobo.dao.ArticleMapper.findById" ofType="top.yibobo.pojo.Article">
        </collection>
        <collection property="articleCommts" column="auid"  select="top.yibobo.dao.ArticleCommtMapper.findById" ofType="top.yibobo.pojo.ArticleCommts">
        </collection>
    </resultMap>
  <select id="findAll" resultMap="authorlist2">
      SELECT id auid,name,sex,birthday,address,phone FROM Author
  </select>
</mapper>

 
java各个包和接口和实现类们
 
dao层

package top.yibobo.dao;
import top.yibobo.pojo.ArticleCommt;
import java.util.List;
public interface ArticleCommtMapper {
    List<ArticleCommt> findAll();
}

 

package top.yibobo.dao;
import org.apache.ibatis.annotations.Param;
import top.yibobo.pojo.Article;
import java.util.List;
import java.util.Map;
public interface ArticleMapper {
    List<Article> findAll();
    List<Article> findPage(Map<String, Object> map);
    Article findById(@Param("id") int id);
}

 

package top.yibobo.dao;
import org.apache.ibatis.annotations.Param;
import top.yibobo.pojo.Author;
import java.util.List;
public interface AuthorMapper {
    int addAuthor(Author author);
    int updateAuthor(Author author);
    int deleteAuthor(int id);
    List<Author> findById(@Param("id") int id);
    List<Author> findAll();
}

 
pojo层
 

package top.yibobo.pojo;
import java.sql.Date;
public class Article {
    private Integer id;
    private String title;
    private String content;
    private Date publishTime;
    private Author author;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public Date getPublishTime() {
        return publishTime;
    }
    public void setPublishTime(Date publishTime) {
        this.publishTime = publishTime;
    }
    public Author getAuthor() {
        return author;
    }
    public void setAuthor(Author author) {
        this.author = author;
    }
    @Override
    public String toString() {
        return "Article{" +
                "id=" + id +
                ", title='" + title + '\'' +
                ", content='" + content + '\'' +
                ", publishTime=" + publishTime +
                ", author=" + author +
                '}';
    }
}

 

package top.yibobo.pojo;
import java.sql.Date;
import java.util.List;
public class Author {
    private int id;
    private String name;
    private String sex;
    private Date birthday;
    private String address;
    private String phone;
    private List<Article> articles;
    private List<ArticleCommt> articleCommts;
    public Author() {
    }
    public List<Article> getArticles() {
        return articles;
    }
    public void setArticles(List<Article> articles) {
        this.articles = articles;
    }
    public List<ArticleCommt> getArticleCommts() {
        return articleCommts;
    }
    public void setArticleCommts(List<ArticleCommt> articleCommts) {
        this.articleCommts = articleCommts;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    @Override
    public String toString() {
        return "Author{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", birthday=" + birthday +
                ", address='" + address + '\'' +
                ", phone='" + phone + '\'' +
                ", articles=" + articles +
                ", articleCommts=" + articleCommts +
                '}';
    }
}

 
 

package top.yibobo.pojo;
import java.sql.Date;
public class ArticleCommt {
    private Integer id;
    private String commt;
    private Date commtTime;
    private Author author;
    private Article article;
    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getCommt() {
        return commt;
    }
    public void setCommt(String commt) {
        this.commt = commt;
    }
    public Date getCommtTime() {
        return commtTime;
    }
    public void setCommtTime(Date commtTime) {
        this.commtTime = commtTime;
    }
    public Author getAuthor() {
        return author;
    }
    public void setAuthor(Author author) {
        this.author = author;
    }
    public Article getArticle() {
        return article;
    }
    public void setArticle(Article article) {
        this.article = article;
    }
    @Override
    public String toString() {
        return "ArticleCommt{" +
                "id=" + id +
                ", commt='" + commt + '\'' +
                ", commtTime=" + commtTime +
                ", author=" + author +
                ", article=" + article +
                '}';
    }
}

 
service层
 

package top.yibobo.service;
import top.yibobo.dao.ArticleCommtMapper;
import top.yibobo.pojo.ArticleCommt;
import java.util.List;
public class ArticleCommtMapperImpl implements ArticleCommtMapper {
    private ArticleCommtMapper dao;
    public void setDao(ArticleCommtMapper dao) {
        this.dao = dao;
    }
    @Override
    public List<ArticleCommt> findAll() {
        return dao.findAll();
    }
}

 

package top.yibobo.service;
import top.yibobo.dao.ArticleMapper;
import top.yibobo.pojo.Article;
import java.util.List;
import java.util.Map;
public class ArticleMapperImpl implements ArticleMapper {
    private ArticleMapper dao;
    public void setDao(ArticleMapper dao) {
        this.dao = dao;
    }
    @Override
    public List<Article> findAll() {
        return dao.findAll();
    }
    @Override
    public List<Article> findPage(Map<String, Object> map) {
        return dao.findPage(map);
    }
    @Override
    public Article findById(int id) {
        return dao.findById(id);
    }
}

 

package top.yibobo.service;
import top.yibobo.dao.AuthorMapper;
import top.yibobo.pojo.Author;
import java.util.List;
public class AuthorMapperImpl implements AuthorMapper{
    private AuthorMapper dao;
    public void setDao(AuthorMapper dao) {
        this.dao = dao;
    }
    @Override
    public int addAuthor(Author author) {
        return dao.addAuthor(author);
    }
    @Override
    public int updateAuthor(Author author) {
        return dao.updateAuthor(author);
    }
    @Override
    public int deleteAuthor(int id) {
        return dao.deleteAuthor(id);
    }
    @Override
    public List<Author> findById(int id) {
        return dao.findById(id);
    }
    @Override
    public List<Author> findAll() {
        return dao.findAll();
    }
}

 
 
最终测试类

package top.yibobo.test;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import top.yibobo.dao.ArticleCommtMapper;
import top.yibobo.dao.ArticleMapper;
import top.yibobo.dao.AuthorMapper;
import top.yibobo.pojo.Article;
import top.yibobo.pojo.ArticleCommt;
import top.yibobo.pojo.Author;
import java.util.List;
public class AuthorTest {
    @Test
    public void test1(){
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        AuthorMapper authorService = ctx.getBean("authorService", AuthorMapper.class);
        List<Author> all = authorService.findAll();
        all.forEach(author -> System.out.println(author));
    }
    @Test
    public void test2(){
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        ArticleMapper articleService = ctx.getBean("articleService", ArticleMapper.class);
        List<Article> all = articleService.findAll();
        all.forEach(article -> System.out.println(article));
    }
    @Test
    public void test3(){
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        ArticleCommtMapper articleCommtService = ctx.getBean("articleCommtService", ArticleCommtMapper.class);
        List<ArticleCommt> all = articleCommtService.findAll();
        all.forEach(articleCommt -> System.out.println(articleCommt));
    }
}

 

           


CAPTCHAis initialing...
EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00