使用JDBC

第一步:添加依赖

上一篇中说到很多关于添加依赖后如何进行reimport这里就不在多重复了

<!-- JDBC --> <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> 

application.properties配置

在resources文件下新建一个名为application.properties的file文件

# 配置数据jdbc
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/spring
spring.datasource.username=root
spring.datasource.password=******

service

一如往常,还是创建service的接口并实现这个接口

Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。

JdbcTemplate位于Spring-jdbc-4.3.0.RELEASE.jar中。其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个这个包包含了一下事务和异常控制,在这里我们先不说事物和异常控制

JdbcTemplate主要提供了以下5类方法

execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;

update方法及batchUpdate方法:update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;

query方法及queryForXXX方法:用于执行查询相关语句;

call方法:用于执行存储过程、函数相关语句。
@Service public class UserServiceImpl implements UserService{ @Autowired private JdbcTemplate jdbcTemplate; @Override public void register(String username, String password) { String sql = "insert into user (userName,password) value(?,?)"; jdbcTemplate.update(sql,username,password); } } 

Controller

@Controller @RequestMapping("/user") public class UserController { @Autowired UserService userService; @RequestMapping("/register") @ResponseBody public String register(String username,String password){ userService.register(username,password); return "Success"; } } 

访问http://localhost:8080/user/register?username=zhangsan&password=123456后成功则会出现Success,查看数据库会多出刚刚插入的信息

整合Mybatis

方式一

在创建UserMapper接口,用注解方式操作数据库

public interface UserMapper { @Insert("insert user (username,password) values (#{username},#{password})") public void save(@Param("username") String username, @Param("password") String password); @Select("select from user where username=#{username,jdbcType=VARCHAR}") public User findByUserName(@Param("username") String username); } 

方式二

学过mybatis的都知道,使用mybatis都是xml配置数据库操作,以下是我的xml配置文件

<mapper namespace="com.lxk.mapper.UserMapper"> <insert id="save"> insert into user (username,password) values (#{arg0},#{arg1}) </insert> <select id="findByUserName" resultType="com.lxk.model.User" parameterType="String"> select *from user where username=#{username,jdbcType=VARCHAR} </select> </mapper> 

当然有了配置文件,我们就需要去掉UserMapper类中的注解

public interface UserMapper { public void save(String username,String password); public User findByUserName(String username); } 

当然,如果你也把Spring学过了,你那应该知道,我们使用注解是为了取代少xml文件,因此,这里的两种方式其实是很简单不是吗?

创建Service

同样创建UserService接口和UserServiceImpl实现类

public interface UserService { public void insert(String username, String password); public User select(String username); } 
@Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public void insert(String username, String password) { System.out.println(username+"-"+password); userMapper.save(username,password); } @Override public User select(String username) { User user = userMapper.findByUserName(username); return user; } } 

创建Controller

@Controller @RequestMapping("user") public class UserController { @Autowired private UserService userService; @RequestMapping("/save") @ResponseBody public String save(String username,String password){ userService.insert(username,password); return "Save success"; } @RequestMapping("find") @ResponseBody public User findByUserName(String username){ User user = userService.select(username); return user; } } 

启动App

启动App类

@EnableAutoConfiguration @ComponentScan(basePackages = {"com.lxk.web","com.lxk.service"}) @MapperScan(basePackages = {"com.lxk.mapper"}) public class App { public static void main(String[] args) { SpringApplication.run(App.class,args); } } 

访问http://localhost:8080/user/save?username=zhangsan&password=123456,出现Save success则是成功,然后查看数据库中是否存在插入的那条

访问http://localhost:8080/user/find?username=zhagnsan时,
出现{"username":"zhangsan","password":"123456"}

配置多数据源