当前位置: 移动技术网 > IT编程>开发语言>Java > spring整合mybatis

spring整合mybatis

2019年07月29日  | 移动技术网IT编程  | 我要评论

项目的目录结构如下:

 

 

第一步:新建好一个maven项目,引入pom文件的依赖:

<?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>com.itcast</groupid>
      <artifactid>demomy</artifactid>
      <packaging>war</packaging>
      <version>0.0.1-snapshot</version>
  
    <dependencies>

<!-- https://mvnrepository.com/artifact/org.mybatis.generator/mybatis-generator-core -->
<dependency>
<groupid>org.mybatis.generator</groupid>
<artifactid>mybatis-generator-core</artifactid>
<version>1.3.5</version>
</dependency>

<dependency>
<groupid>junit</groupid>
<artifactid>junit</artifactid>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!--spring-mvc、spring-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-webmvc</artifactid>
<version>4.3.7.release</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-test</artifactid>
<version>4.3.7.release</version>
<scope>test</scope>
</dependency>

<!--jsr303数据校验,
导入hibernate-validator
tomcat7以下的服务器,el表达式,额外给服务器的lib包中替换新的标准的el-->
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupid>org.hibernate</groupid>
<artifactid>hibernate-validator</artifactid>
<version>5.4.1.final</version>
</dependency>

<!--分页查询插件-->
<dependency>
<groupid>com.github.pagehelper</groupid>
<artifactid>pagehelper</artifactid>
<version>5.0.0</version>
</dependency>

<!--返回json字符串的支持-->
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupid>com.fasterxml.jackson.core</groupid>
<artifactid>jackson-databind</artifactid>
<version>2.8.8</version>
</dependency>


<!--spring jdbc 事务管理-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-jdbc</artifactid>
<version>4.3.7.release</version>
</dependency>
<!--spring 面向切面编程-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-aspects</artifactid>
<version>4.3.7.release</version>
</dependency>

<!--mybatis-jar包-->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupid>org.mybatis</groupid>
<artifactid>mybatis</artifactid>
<version>3.4.2</version>
</dependency>

<!--mybatis 整合spring适配包-->
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupid>org.mybatis</groupid>
<artifactid>mybatis-spring</artifactid>
<version>1.3.1</version>
</dependency>

<!-- https://mvnrepository.com/artifact/com.mchange/c3p0 -->
<dependency>
    <groupid>c3p0</groupid>
    <artifactid>c3p0</artifactid>
    <version>0.9.1.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
    <version>8.0.12</version>
</dependency>
<dependency>
    <groupid>org.springframework</groupid>
    <artifactid>spring-beans</artifactid>
    <version>4.3.7.release</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
<groupid>javax.servlet</groupid>
<artifactid>javax.servlet-api</artifactid>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupid>junit</groupid>
<artifactid>junit</artifactid>
<version>release</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-test</artifactid>
<version>release</version>
</dependency>

</dependencies>
<build>
 <plugins>
       <plugin>
             <groupid>org.apache.maven.plugins</groupid>
             <artifactid>maven-compiler-plugin</artifactid>
             <version>3.1</version>
             <configuration>
                 <source>1.8</source>     
                 <target>1.8</target>      
             </configuration>
       </plugin>
  </plugins>
</build>
</project>

第二部:新建pojo类:

package cn.itcast.mybatis.po;
import java.util.date;
public class user {
    
    private static final long serialversionuid = 1l;
    private integer id;
    private string username;
    private string sex;
    private date birthday;
    private string address;


    public integer getid() {
        return id;
    }
    public void setid(integer id) {
        this.id = id;
    }
    public string getusername() {
        return username;
    }
    public void setusername(string username) {
        this.username = username;
    }
    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;
    }
    @override
    public string tostring() {
        return "user [id=" + id + ", username=" + username + ", sex=" + sex
                + ", birthday=" + birthday + ", address=" + address + "]";
    }

    
}

第三步:新建usermapper接口。

package cn.itcast.mybatis.po;

public interface usermapper {
    public user finduserbyid(integer id);

}

第四步:在src/main/resources下面新建文件夹mapper, 在mapper下新建usermapper.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">
<!-- 写sql语句   -->
<mapper namespace="cn.itcast.mybatis.po.usermapper">

    <!-- 通过id查询一个用户 -->
    <select id="finduserbyid" parametertype="integer" resulttype="user">
        select * from user where id = #{id}
    </select>
       
</mapper>

第四步:在resources下面新建spring的配置文件applicationcontext.xml

<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
       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-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

    <!-- 加载配置文件 -->
    <context:property-placeholder location="classpath:db.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.uid}"/>
        <property name="password" value="${jdbc.password}"/>
        <!-- 初始连接池大小 -->
        <property name="initialpoolsize" value="10"/>
        <!-- 连接池中连接最小个数 -->
        <property name="minpoolsize" value="5"/>
        <property name="maxpoolsize" value="20"/>
     </bean>

    <!-- 配置mybatis的工厂 sqlsessionfactory -->
    <bean id="sqlsessionfactory" class="org.mybatis.spring.sqlsessionfactorybean">
         <!-- 配置mybatis核心配置文件 -->
        <property name="configlocation" value="classpath:sqlmapconfig.xml" />
        <!-- 配置数据源 -->
        <property name="datasource" ref="datasource" />
    </bean>
    
    <!--配置usermapper对象-->
      <bean id="usermapper" class="org.mybatis.spring.mapper.mapperfactorybean">
           <property name="sqlsessionfactory" ref="sqlsessionfactory"/>
            <property name="mapperinterface" value="cn.itcast.mybatis.po.usermapper" />
    </bean>
    
</beans>

第五步:resources下配置数据库连接 db.properties:

#jdbc.driver=com.mysql.jdbc.driver
jdbc.driver=com.mysql.cj.jdbc.driver
jdbc.url=jdbc:mysql://192.168.1.20:3306/test?servertimezone=utc&usessl=false
jdbc.uid=root
jdbc.password=root123

 

然后在resources下新建日志文件:log4j.properties

# global logging configuration
log4j.rootlogger=debug, stdout
# console output...
log4j.appender.stdout=org.apache.log4j.consoleappender
log4j.appender.stdout.layout=org.apache.log4j.patternlayout
log4j.appender.stdout.layout.conversionpattern=%5p [%t] - %m%n

 

第六步:在resources下面新建mybatis的配置文件 sqlmapconfig.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>
      
    <!-- 设置别名 --> <!-- 2. 指定扫描包,会把包内所有的类都设置别名,别名的名称就是类名,大小写不敏感 -->
    <typealiases>
        <typealias alias="user" type="cn.itcast.mybatis.po.user"/>
    </typealiases>
<!--加载usermapper.xml文件,也可以在spring配置文件加载全部的mapper.xml文件  --> <mappers> <mapper resource="mapper/usermapper.xml"/> </mappers>

<!-- 2. 指定扫描包,会把包内所有的类都设置别名,别名的名称就是类名,大小写不敏感 -->
<!-- <package name="com.yyb.pojo" /> -->

</configuration>

第七部: 新建测试类:

@org.junit.test
        public void func1() throws exception {
            applicationcontext ac=new classpathxmlapplicationcontext("applicationcontext.xml");
            usermapper mapper=ac.getbean(usermapper.class);
            user user = mapper.finduserbyid(1);
            system.out.println(user);
        }

结果:

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网