总目录

添加相关依赖

修改 pom.xml,添加 MyBatis 相关的依赖

主要包括以下五个类库:

  • mysql-connector-java: mysql 驱动
  • druid: 数据库连接池
  • spring-jdbc
  • mybatis
  • mybatis-spring

添加方法参考之前的博客。

新建配置文件

在 resources 目录下新建配置文件 jdbc.properties

jdbc.propertis 文件中主要配置连接数据库的相关信息,供数据源(此处是数据库连接池druid)使用

jdbc.propertis文件内容:

jdbc.driverClassName=com.mysq.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT
jdbc.username=root
jdbc.password=123456

添加相关配置

在 applicationContext.xml 文件中添加配置

添加如下代码:

<!-- 读取jdbc.properties配置文件,获取数据库相关参数 -->
<context:property-placeholder location="classpath:jdbc.properties" ignore-unresolvable="true" />

<!-- 配置数据源druid -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
      init-method="init" destroy-method="close" >
    <property name="driverClassName" value="${jdbc.driverClassName}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
</bean>

<!-- 配置sqlSessionFactory对象:注入数据库连接池,并扫描 对象关系映射的配置文件mapper -->
<bean id="sqlSessionFactory"
      class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 注入数据源 -->
    <property name="dataSource" ref="dataSource" />
    <!-- 扫描映射文件 -->
    <property name="mapperLocations" value="classpath:mapper/*.xml" />
</bean>

<!--  事务处理等  -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
    <constructor-arg index="0" ref="sqlSessionFactory" />
</bean>

<!-- 整合mybatis 和 spring -->
<bean id="mapperScannerConfigurer"
      class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    <property name="basePackage" value="cdu.dj.dao" />
</bean>

创建 model 包,并在其中创建实体类 User

src⇨main⇨java⇨cdu⇨stu 目录下创建 model 包,并在包中创建实体类 User

相关代码如下:

package cdu.stu.model;

import java.io.Serializable;

public class User implements Serializable {
    private Integer id;
    private String name;
    private String password;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

创建 dao 包,并在其中创建 UserDao 接口

同样在 src⇨main⇨java⇨cdu⇨stu 目录下创建 dao 包,并在其中创建 UserDao 接口

相关代码如下:

package cdu.dj.dao;

import cdu.dj.model.User;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserDao {
    List<User> findAll();
}

创建 UserService 接口,及其实现类 UserServiceImpl

创建 service 包,并在其中创建 UserService 接口;在 service.impl 包中创建 UserService 接口的实现类 UserServiceImpl

在目录 src⇨main⇨java⇨cdu⇨stu 目录下创建 service 包:


1、在 service 包中创建 UserService 接口:

package cdu.stu.service;

import cdu.stu.model.User;

import java.util.List;

public interface UserService {

    List<User> findAll();

}

2、在 service 包中创建 impl 包,再在 impl 包中创建 UserServiceImpl 接口:

package cdu.stu.service.impl;

import cdu.stu.dao.UserDao;
import cdu.stu.model.User;
import cdu.stu.service.UserService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service("userService")
public class UserServiceImpl implements UserService {

    @Resource
    private UserDao userDao;

    @Override
    public List<User> findAll() {
        return userDao.findAll();
    }
}

在 controller 包中创建控制器类 UserController

在目录 src⇨main⇨java⇨cdu⇨stu⇨controller 目录下创建 UserController 类:

package cdu.stu.controller;

import cdu.stu.model.User;
import cdu.stu.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import sun.java2d.SurfaceDataProxy;

import javax.annotation.Resource;
import java.util.List;

@Controller
@RequestMapping(value="/user")
public class UserController {

    @Resource
    private UserService userService;

    @GetMapping("/findAll")
    public String findAllUser(){
        List<User> userList=userService.findAll();
        for(User user:userList) {
            System.out.println(user);
        }
        return "helloView";
    }

}

创建映射文件

在 resources 目录下创建 mapper 目录,并在其中创建映射文件 user.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="cdu.stu.dao.UserDao">
    <select id="findAll" resultType="cdu.stu.model.User">
        select * from user_table
    </select>
</mapper>

创建数据库及数据库表

打开 navicat

新建数据库(数据库名:mydb)
⇩
新建表(表名:user_table)

表数据如下:

启动 tomcat

tomcat启动之后,在浏览器地址栏里请求/user/findAll,观察 idea 的 output 输出窗口。

显示结果如下:

集成 MyBatis 框架完成。

分类: Java Web

Deng Jia

Keep Moving.

0 条评论

发表评论

电子邮件地址不会被公开。