0xml配置 spring 整合 mybatis

总结一下遇到的bug

首先是依赖,最终版jar包如下

其次是SpringConfig类

@Configuration
@ComponentScan(basePackages = "lfp",excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,value = Controller.class))
@MapperScan(basePackages = "lfp.dao")
//@PropertySource("classpath:db.properties")
public class SpringConfig{
    @Bean
    public DataSource dataSource(){
        DruidDataSource dataSource=new DruidDataSource();
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        dataSource.setUrl("jdbc:mysql://localhost:3306/studentmanger?serverTimezone=Asia/Shanghai&characterEncoding=utf-8");
        dataSource.setUsername("root");
        dataSource.setPassword("psw");
        return dataSource;
    }
    @Bean
    public SqlSessionFactoryBean sqlSessionFactoryBean() throws IOException {
        SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());
//        PathMatchingResourcePatternResolver resolver=new PathMatchingResourcePatternResolver();
//        sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classPath:lfp/dao/*.xml"));
        return sqlSessionFactoryBean;
    }
//    @Bean
//    public MapperScannerConfigurer mapperScannerConfigurer(){
//        MapperScannerConfigurer msc = new MapperScannerConfigurer();
//        msc.setBasePackage("lfp.dao");
//        return msc;
//    }
}

 SpringMvcConfig

@Configuration
@ComponentScan("lfp.controller")
@EnableWebMvc
public class SpringMVCConfig implements WebMvcConfigurer {
        public void addResourceHandlers(ResourceHandlerRegistry registry){
        //拦截器
            registry.addResourceHandler("/html/*").addResourceLocations("/");
            //                                    实际路径
    }
}

AppInitConfig类

public class AppInitconfig extends AbstractAnnotationConfigDispatcherServletInitializer{
    @Override
    //指定spring的配置类
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
//        return new Class[0];
    }

    //指定springmvc的配置类
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringMVCConfig.class};
    }
    //指定前端控制器的指定路径
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}

Dao层

public interface StudentDao{
    @Select("select  * from studentlist")
    public List<Student> findAll();
}

实体层

public class Student {
    private String id;
    private String name;
    private int age;
    private String score;


    public Student(){}

    @Override
    public String toString() {
        return "Student{" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", score='" + score + '\'' +
                '}';
    }

    public Student(String id, String name, int age, String score) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.score = score;
    }

    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    public String getScore() {
        return score;
    }

    public void setScore(String score) {
        this.score = score;
    }
}

Controller层

@Controller
@RequestMapping("/hello")
public class HelloController{
//    @RequestMapping("/test1")
//    @ResponseBody
//    public String test1(){
//        return "hello springmvc";
//    }
    @Autowired
    private StudentDao studentDao;
    @RequestMapping("/test1")
    @ResponseBody
    public List<Student> test1(){
        return studentDao.findAll();
    }
}

 然后就可以在浏览器获取结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值