springboot-mybatis 简单搭建demo

1.基础架构图:

6bcac9de1be6d32f6480a17558fa1bff916.jpg

2.主方法

/**
 * Hello world!
 *@SpringBootApplication集成了下面的注解
 * @ComponentScan 扫包
 * @EnableAutoConfiguration 自动配置
 * @Configuration 表示这个是一个配置类
 */
@SpringBootApplication
@MapperScan("cn.itsource.mapper")//扫描Mapper包
@EnableTransactionManagement//开启事务管理器,然后在每个service类上要写事务注解
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

3.application.properties的配置

#视图解析器
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

#连接池
spring.datasource.password=root
spring.datasource.username=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///crm
#可以指定使用DruidDataSource连接池,如果其他连接池,换了即可
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#mapperxml映射给Mapper,main主方法上打注解@mapperScan
mybatis.mapper-locations=classpath:cn/itsource/mapper/*.xml

#选择什么样的工作模式的properties,比如改变端口等配置,选择的是application-dev.properties的配置
#spring.profiles.active=dev



#分页配置
pagehelper.helperDialect=mysql
#为了使用输入页数为负或者超出最大页时候使页数为最小或最大值
pagehelper.reasonable=true
#最小和最大的是1和最后一页
pagehelper.supportMethodsArguments=true
#统计总数
pagehelper.params=count=countSql

4.application-dev.properties或者test的配置

server.port=8888

5.controller的配置

@Controller
public class MybatisController {

    @Autowired
    private IEmployeeService employeeService;

    @RequestMapping("selectAll")
    @ResponseBody
    public List<Employee> selectAll() {
        return employeeService.selectAll();
    }

@RequestMapping("index")
public String index(Model model) {
    model.addAttribute("msg","来了老弟");
    return "index";

}

    @RequestMapping("selectAllForPage")
    @ResponseBody
    public List<Employee> selectAllForPage() {
        PageHelper.startPage(1, 6);//因为配置了,所以直接调用,分页插件的方法对紧随其后第一个sql语句有效.第1页,一页6个.
        return employeeService.selectAll();
    }
}

 

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="cn.itsource.mapper.EmployeeMapper" >
    <resultMap id="BaseResultMap" type="cn.itsource.domain.Employee" >
        <id column="id" property="id"  />
        <result column="username" property="username"  />
        <result column="real_name" property="realName"  />
        <result column="password" property="password"  />
    </resultMap>

    <select id="selectAll" resultMap="BaseResultMap" >
        select id, username, real_name,password
        from t_employee
    </select>
</mapper>

6.Service的实现类

@Service
@Transactional//因为主方法开启了自动创建事务,所以打上注解就可以了
public class EmployeeServiceImpl implements IEmployeeService {

    @Autowired
    private  EmployeeMapper employeeMapper;

    @Override
    public List<Employee> selectAll() {
        return employeeMapper.selectAll();
    }
}

 

7.pom包

<properties>
    <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>
    <!-- 依赖配置-->
    <!-- web支持: 1web mvc; 2restful; 3jackjson支持; 4aop ........ -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- servlet 依赖. -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

    <!-- tomcat 的支持. -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>

    <!-- mysql 数据库驱动. -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--mybatis-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.1.1</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.19</version>
    </dependency>
    <!--freemarker-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
    <!--测试-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>

    <!--github的分页助手-->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.3</version>
    </dependency>

</dependencies>

转载于:https://my.oschina.net/u/4083694/blog/3077568

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值