零基础myeclipse下springBoot+maven+thymeleaf的开发(3) +mybaits

接下我们讲的是springBoot与mybaits集成,pom.xml对应mybaits前面已经都依赖进去了。
我先把我整个的目录结构展示下:

在src/main/resources下新建一个文件夹命名为mybaits(无所谓),用来放mybaits的数据库操作文件xml,然后再修改前我们建的application.java,代码如下:

@EnableAutoConfiguration
@SpringBootApplication
@ComponentScan
@MapperScan("com.cwh.mapper")
public class Application {
    private static Logger logger = Logger.getLogger(Application.class);

    @Bean
    @ConfigurationProperties(prefix="spring.datasource")
    public DataSource dataSource() {
        return new org.apache.tomcat.jdbc.pool.DataSource();
    }

    @Bean
    public SqlSessionFactory sqlSessionFactoryBean() throws Exception {

        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());

        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();

        sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));

        return sqlSessionFactoryBean.getObject();
    }

    @Bean
    public PlatformTransactionManager transactionManager() {
        return new DataSourceTransactionManager(dataSource());
    }


    /**
     * Start
     */
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
        logger.info("SpringBoot Start Success");
    }

}

注意:sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classpath:/mybatis/*.xml"));这里的classpath对应的命名也就是前面我们建的mybaits文件。

@MapperScan("com.cwh.mapper")

这个是对应mybaits映射的接口的包。
然后接下来需要在application.properties添加连接数据库的配置

spring.datasource.url=jdbc\:mysql\://127.0.0.1\:3306/springboot?useUnicode\=true&characterEncoding\=gbk&zeroDateTimeBehavior\=convertToNull
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

这样我们就可以访问数据库了。
好了现在整个目录结构是这样子的:

我吧对应的代码都贴在下面:

user.java

public class User {
    private String name;
    private Integer age;
    private String password;

    public String getName() {
        return name;
    }

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

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getPassword() {
        return password;
    }

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

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">
<mapper namespace="com.cwh.mapper.UserMapper">

  <select id="findUserInfo" resultType="com.cwh.model.User">
    select name, age,password from user;
  </select>

</mapper>

UserMapper.java

public interface UserMapper {
    public User findUserInfo();
}

UserService.java

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public User getUserInfo(){
        User user=userMapper.findUserInfo();
        //User user=null;
        return user;
    }

}

UserController.java

@Controller
public class UserController {

    private Logger logger = Logger.getLogger(UserController.class);

    @Autowired
    private UserService userService;

    @RequestMapping("/getUserInfo")
    @ResponseBody
    public User getUserInfo() {
        User user = userService.getUserInfo();
        return user;
    }
}

好了大功告成,run application我们访问下看看:http://localhost:8080/getUserInfo

ok返回json。
这样我们就基本完成了整个的开发了。

posted @ 2016-04-08 14:37  menco  阅读(12)  评论(0)    收藏  举报