Spring5-Mybatis整合

Spring5-Mybatis整合

1、导入maven依赖
 <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <spring.version>5.2.8.RELEASE</spring.version>
    </properties>
 <dependencies>

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context</artifactId>

            <version>${spring.version}</version>

        </dependency>

        <!--spring对jdbc的支持依赖包(关联spring-tx包) -->

        <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-jdbc</artifactId>

            <version>${spring.version}</version>

        </dependency>

        <!-- mybatis-spring 依赖包 -->

        <dependency>

            <groupId>org.mybatis</groupId>

            <artifactId>mybatis-spring</artifactId>

            <version>2.0.0</version>

        </dependency>

        <!--mybatis 依赖包 -->

        <dependency>

            <groupId>org.mybatis</groupId>

            <artifactId>mybatis</artifactId>

            <version>3.5.1</version>

        </dependency>

        <!-- mysql驱动 依赖包 -->

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>8.0.25</version>

        </dependency>

    </dependencies>

2、编写实体类

/*
实体类
 */
public class SysUser {
        private Long userId;        //用户编号

        private String username;    //用户名

        private String password;    //密码

        private Long employeeId;    //员工编号

        private Integer salt;   //盐值

        public Long getUserId() {
            return userId;
        }

        public void setUserId(Long userId) {
            this.userId = userId;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username == null ? null : username.trim();
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password == null ? null : password.trim();
        }

        public Long getEmployeeId() {
            return employeeId;
        }

        public void setEmployeeId(Long employeeId) {
            this.employeeId = employeeId;
        }

        public Integer getSalt() {
            return salt;
        }

        public void setSalt(Integer salt) {
            this.salt = salt;
        }

    @Override
    public String toString() {
        return "SysUser{" +
                "userId=" + userId +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", employeeId=" + employeeId +
                ", salt=" + salt +
                '}';
    }
}

3、编写Mapper即dao层

/*
mapper文件
 */
import Pojo.SysUser;
public interface SysUserMapper {
    public SysUser selectUserById(int user_id);
    public void deleteUserById(int user_id);
}

4、编写service以及serviceimpl

/*
service
 */
@Service
public interface SysUserService {
    public SysUser select(int user_id);
    public void deleteUserById(int user_id);
}

/*
service实现类
在serviceimpl上使用@Repository注解若不使用该注解则要去spring-mybatis.xml文件给容器中加入该bean
 */
@Repository
public class SysUserServiceimpl implements SysUserService {
    @Autowired
    SysUserMapper userMapper;
    @Override
    public SysUser select(int user_id) {
        return userMapper.selectUserById(user_id);
    }

    @Override
    public void deleteUserById(int user_id) {
        userMapper.deleteUserById(user_id);
    }
}

5、编写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">
<mapper namespace="mapper.SysUserMapper">

    <delete id="deleteUserById" parameterType="Integer">
        delete from sys_user where user_id=#{user_id}
    </delete>
    <!-- SQL语句 -->
    <select id="selectUserById" parameterType="Integer" resultType="Pojo.SysUser">
        select * from sys_user where user_id=#{user_id}
    </select>

</mapper>
db.properties文件
jdbc.driver=com.mysql.cj.jdbc.Driver

jdbc.url=jdbc:mysql://localhost:3306/neuedu-oa

jdbc.username=root

jdbc.password=123456
spring-mybatis.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: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
 http://www.springframework.org/schema/context
 http://www.springframework.org/schema/context/spring-context.xsd">

    <!--开启注解扫描,设置需要扫描的包(用于扫描测试时用的Service组件)  -->

    <context:component-scan base-package="service"/>

    <!-- 引入db配置文件  -->

    <context:property-placeholder location="classpath:db.properties" />

    <!-- 配置dataSource数据源 -->

    <bean id="dataSource"

          class="org.springframework.jdbc.datasource.DriverManagerDataSource">

        <property name="driverClassName" value="${jdbc.driver}"></property>

        <property name="url" value="${jdbc.url}"></property>

        <property name="username" value="${jdbc.username}"></property>

        <property name="password" value="${jdbc.password}"></property>

    </bean>

    <!-- 创建SqlSessionFactory,并配置实体对象别名 -->

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <property name="dataSource" ref="dataSource"></property>

        <property name="typeAliasesPackage" value="Pojo" />
        <!--开启驼峰命名-->
        <property name="configuration">
            <bean class="org.apache.ibatis.session.Configuration">
                <property name="mapUnderscoreToCamelCase" value="true"/>
            </bean>
        </property>
    </bean>

    <!-- 配置Mapper,自动扫描Mapper接口,并为其注入SqlSessionFactory -->

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

        <property name="basePackage" value="mapper"></property>

        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>

    </bean>


</beans>
public static void main(String[] args) {
        ApplicationContext act=new ClassPathXmlApplicationContext("spring-mybatis.xml");
        SysUserServiceimpl userService=(SysUserServiceimpl)act.getBean("sysUserServiceimpl");
        System.out.println(userService.select(1).toString());
    }
输出:
SysUser{userId=1, username='m8', password='f57e762e3fb7e1e3ec8ec4db6a1248e1', employeeId=1, salt=188}

总结

  • 导入maven相关依赖
  • 编写pojo类、dao层、service层、serviceimpl层并加入容器中
  • 编写相关mapper.xml、以及编写spring-mybatis.xml的文件、导入db.properties文件相关配置属性到spring-mybatis.xml中
  • 编写测试类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值