专栏首页编程坑太多springboot (三)JdbcTemplate

springboot (三)JdbcTemplate

添加pom依赖

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

properties中配置DataSource

spring.datasource.url=jdbc:mysql://localhost:3306/test01?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

编写dao层,service层。 dao接口

public interface UserDao {
    Integer addUser(String name, Integer age);
}

dao 实现类

@Repository
public class UserDaoImpl implements UserDao {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Override
    public Integer addUser(String name, Integer age) {
        return jdbcTemplate.update("INSERT  INTO USER VALUES (null,?,?);", name, age);
    }
}

service接口

public interface UserService {
    int addUser(String name, Integer age);
}
service实现类
@Service
@Transactional(rollbackFor = Exception.class)
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;
    @Override
    public int addUser(String name, Integer age) {
        try {
            return userDao.addUser(name,age);
        }catch (Exception e){
            e.printStackTrace();
            return  0;
        }
    }
}

创建mysql数据库和表

-- 创建数据库
CREATE DATABASE test01 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 创建用户表
CREATE TABLE user(
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(30),
    age INT
);

完成controller和页面

UserController.java

@Controller
@RequestMapping("/user")
public class UserController {
    @Autowired
    UserService userService;
    @RequestMapping(value = "/")
    public String user() {
        return "/user";
    }
    @ResponseBody
    @RequestMapping(value = "/addUser")
    public Map<String, Object> addUser(@RequestParam(name = "uname") String name, @RequestParam(name = "age") Integer age) {
        Map<String, Object> map = new HashMap<>();
        int count = userService.addUser(name, age);
        map.put("name", name);
        map.put("age", age);
        map.put("msg", "操作" + (count > 0 ? "成功" : "失败"));
        return map;
    }
}

user.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用户界面</title>
</head>
<body>
<h2>添加用户</h2>
<form method="post" action="./addUser">
    <label>用户名:</label><input type="text" name="uname">
    <label>年龄:</label><input type="number" name="age">
    <input type="submit" value="添加"/>
</form>
</body>
</html>

运行,添加数据,查看mysql数据库

本文分享自微信公众号 - 编程坑太多(idig88)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • springboot (四)spring data jpa

    IT故事会
  • RN请求豆瓣数据

    IT故事会
  • python os模块详解

    IT故事会
  • Java 成员变量和属性的区别

    SUN官方定义为属性是指get或者set方法名 去掉get或者set后,把剩余的部分首字母改为小写后,即为这个类的属性。

    梅花
  • Java 学习笔记(4)——面向对象

    现在一般的语言都支持面向对象,而java更是将其做到很过分的地步,java是强制使用面向对象的写法,简单的写一个Hello Word都必须使用面向对象,这也是当...

    Masimaro
  • JDK1.9-Set接口

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    cwl_java
  • 责任链模式 职责链模式 Chain of Responsibility Pattern 行为型 设计模式(十七)

    责任链模式中,每个对象通过持有对下家的引用而链接起来,形成一条链条,串联起来多个处理对象。

    noteless
  • Spring的依赖注入

    依赖注入是一个重要的知识点,很多大型项目都要用到依赖注入的思想,那么怎么理解依赖注入呢?

    良月柒
  • 再论:关于 equals 和 hashCode

    上篇 关于 equals 和 hashCode 关于 equals 和 hashCode 的基本性质已经论述过了。

    shengjk1
  • 从 JavaScript 到 TypeScript

    TypeScript 并不是一个完全新的语言, 它是 JavaScript 的超集,为 JavaScript 的生态增加了类型机制,并最终将代码编译为纯粹的 J...

    牧云云

扫码关注云+社区

领取腾讯云代金券