Springboot入门之数据访问层
来源:互联网 发布:淘宝怎么看行业排名 编辑:程序博客网 时间:2024/06/16 22:08
一、Springboot整合使用jdbcTemplete
1.pom文件引入
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2.配置application.properties(我的数据库没密码,你的加上就行)
spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=root#spring.datasource.password=spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.编写一个service接口和实现类
public interface UserService { public void insertJdbcUser();}
@Servicepublic class UserServiceImpl implements UserService{ @Autowired private JdbcTemplate jdbcTemplate; @Override public void insertJdbcUser() { jdbcTemplate.update("insert into user values(null,?,?);","lisi",19); }}
4.编写一个controller及启动类
@RestControllerpublic class IndexController { @Autowired private UserService userService; @RequestMapping("/index") public String index(){ userService.insertJdbcUser(); return "success"; }}
@ComponentScan(basePackages = { "cn.iponkan.controller", "cn.iponkan.service" })@EnableAutoConfigurationpublic class SpringBootApplication { public static void main(String[] args){ SpringApplication.run(SpringBootApplication.class,args); }}
二、Springboot整合使用mybatis
1.pom文件引入
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencies> <!-- SpringBoot 核心组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies>
2.配置application.properties(我的数据库没密码,你的加上就行)
spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=root#spring.datasource.password=spring.datasource.driver-class-name=com.mysql.jdbc.Driver3.编写实体类及对应的Mapper代码
public class User { private Integer id; private String name; private Integer age; 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 Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; }}
public interface UserMapper{ @Select("select * from user where name =#{name}") User getName(@Param("name")String name);}
4.编写Controller及启动类
@Controllerpublic class Indexcontroller { @Autowired private UserMapper userMapper; @RequestMapping("/index") public String index(){ return "index"; } @ResponseBody @RequestMapping("/getName") public User getName(String name){ return userMapper.getName(name); }}
@ComponentScan(basePackages = { "cn.iponkan.controller"})@MapperScan(basePackages = {"cn.iponkan.mapper"})@EnableAutoConfigurationpublic class SpringBootApplication { public static void main(String[] args){ SpringApplication.run(SpringBootApplication.class,args); }}
三、Springboot整合使用jpa
1.pom文件引入
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
2.配置application.properties(我的数据库没密码,你的加上就行)
spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=root#spring.datasource.password=spring.datasource.driver-class-name=com.mysql.jdbc.Driver
3.创建实体类和Dao
@Entity(name = "user")public class User { @Id @GeneratedValue private Integer id; @Column private String name; @Column private Integer age; 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 Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}'; }}
public interface UserRepository extends JpaRepository<User,Integer> {}
4.编写Controller及启动类
@RestControllerpublic class IndexController { @Autowired private UserRepository userRepository; @RequestMapping("/index") public String index(Integer id){ User u= userRepository.findOne(id); return u.toString(); }}
@ComponentScan(basePackages = { "cn.iponkan.controller" })@EnableJpaRepositories(basePackages = {"cn.iponkan.repository"})@EntityScan(basePackages = {"cn.iponkan.entity"})@EnableAutoConfigurationpublic class SpringbootApp { public static void main(String[] args) { SpringApplication.run(SpringbootApp.class,args); }}
四、Springboot整合多数据源
1.pom文件
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> <dependencies> <!-- SpringBoot 核心组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies>
2.application.properties
spring.datasource.test1.driverClassName = com.mysql.jdbc.Driverspring.datasource.test1.url = jdbc:mysql://localhost:3306/test01?useUnicode=true&characterEncoding=utf-8spring.datasource.test1.username = root#spring.datasource.test1.password = rootspring.datasource.test2.driverClassName = com.mysql.jdbc.Driverspring.datasource.test2.url = jdbc:mysql://localhost:3306/test02?useUnicode=true&characterEncoding=utf-8spring.datasource.test2.username = root#spring.datasource.test2.password = root
3.新增两个数据源类
@Configuration// 注入到springboot容器中@MapperScan(basePackages = "cn.iponkan.test01", sqlSessionFactoryRef = "test1SqlSessionFactory")public class Datasource1 {@Bean(name = "test1DataSource")@ConfigurationProperties(prefix = "spring.datasource.test1")@Primarypublic DataSource testDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "test1SqlSessionFactory")@Primarypublic SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource)throws Exception {SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);// bean.setMapperLocations(// new// PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml"));return bean.getObject();}@Bean(name = "test1TransactionManager")@Primarypublic DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Bean(name = "test1SqlSessionTemplate")public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {return new SqlSessionTemplate(sqlSessionFactory);}}
@Configuration@MapperScan(basePackages="cn.iponkan.test02",sqlSessionFactoryRef="test2SqlSessionFactory")public class Datasource2 {@Bean(name = "test2DataSource")@ConfigurationProperties(prefix = "spring.datasource.test2")public DataSource testDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "test2SqlSessionFactory")public SqlSessionFactory testSqlSessionFactory(@Qualifier("test2DataSource") DataSource dataSource)throws Exception {SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);//bean.setMapperLocations(//new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test2/*.xml"));return bean.getObject();}@Bean(name = "test2TransactionManager")public DataSourceTransactionManager testTransactionManager(@Qualifier("test2DataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Bean(name = "test2SqlSessionTemplate")public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {return new SqlSessionTemplate(sqlSessionFactory);}}
4.分包创建实体类、Mapper和service
public class User { private Integer id; private String name; private Integer age; 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 Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; }}
@CacheConfig(cacheNames = "baseCache")public interface User1Mapper {@Insert("insert into user values(null,#{name},#{age});")public int addUser(@Param("name") String name, @Param("age") Integer age);}
@Servicepublic class User01Service {@Autowiredprivate User1Mapper user1Mapper;public int addUser(String name, Integer age) {return user1Mapper.addUser(name, age);}}
5.同第四步创建另一个包,注意相应的1改为2
6.写Controller类和启动类
@RestControllerpublic class Indexcontroller { @Autowired private User1Mapper user1Mapper; @Autowired private User2Mapper user2Mapper; @RequestMapping("/add") public String add() { user1Mapper.addUser("Tung", 22); user2Mapper.addUser("Clare", 22); return "成功!"; }}
@ComponentScan(basePackages = { "cn.iponkan.controller","cn.iponkan.datasource","cn.iponkan.test01","cn.iponkan.test02"})@EnableAutoConfigurationpublic class SpringBootApplication { public static void main(String[] args){ SpringApplication.run(SpringBootApplication.class,args); }}
源代码见GitHub:https://github.com/tangqiangDong/Springboot点击打开链接
阅读全文
0 0
- Springboot入门之数据访问层
- SpringBoot之数据访问
- SpringBoot之数据访问操作
- springboot【13】数据访问之整合Mybatis
- springboot【8】数据访问之JdbcTemplate访问数据库
- SpringBoot的数据访问
- PetShop数据访问层之消息处理
- PetShop数据访问层之消息处理
- PetShop数据访问层之消息处理
- PetShop数据访问层之消息处理
- PetShop数据访问层之消息处理
- PetShop数据访问层之消息处理
- 【SpringBoot】SpringBoot之入门配置文件
- springboot【9】数据访问之Spring-data-jpa
- springboot【11】数据访问之NoSQL数据库redis
- springboot【12】数据访问之NoSQL数据库MongoDB
- PetShop数据访问层之数据库访问设计
- PetShop数据访问层之数据库访问设计
- Linux下微信安装教程
- Python读写与追加excel文件
- mac 电脑的android studio 启动的时候报错
- Collapsed Gibbs Sampling
- Tensorflow加载多个模型
- Springboot入门之数据访问层
- Zookeeper学习梳理
- python爬虫案例系列教程——python爬取百度新闻RSS数据
- 基于 Ubuntu 搭建 VNC 远程桌面服务
- machine learning yearning 11 and 12
- unity 长按一个Cube的学习
- Session
- 网狐荣耀版棋牌游戏登录异常签名错误
- 天天学Linux命令57--at命令