spring boot 配置數據庫


Spring Boot 數據訪問

application.yami配置

引入依賴包druid-spring-boot-starter

<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>
       druid-spring-boot-starter
   </artifactId>
   <version>1.2.8</version>
</dependency>
<!--導入驅動-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>
        mysql-connector-java
    </artifactId>
    <version>8.0.26</version>
</dependency>

①配置文件配置MySQL接口和數據庫驅動Driver

# 配置數據庫連接
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test
    username: gcs
    password: 273869
    driver-class-name: com.mysql.cj.jdbc.Driver

②利用JdbcTemplate調用sql語句

#在方法里放入執行語句
jdbcTemplate.execute("select * from user");

mybatis.xml+Mapper.xml

引入依賴包mybatis-spring-boot-starter

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>
      mybatis-spring-boot-starter
   </artifactId>
   <version>2.2.0</version>
</dependency>
<!--導入驅動-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>
        mysql-connector-java
    </artifactId>
    <version>8.0.26</version>
</dependency>

①創建mybatis.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <environments default="development">
   <environment id="development">
   <transactionManager type="JDBC"/>
   <dataSource type="POOLED">
   <property          
       name="driver"
       value="com.mysql.jdbc.Driver"/>
   <property 
       name="url"
       value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf8"/>
   <property name="username" value="gcs"/>
   <property name="password" value="273869"/>
   </dataSource>
   </environment>
   </environments>
   <mappers>
   <mapper    resource="com/example/spring_mybatis/mapper/userMapper.xml"/>
        
</configuration>

②創建接口Mapper

@Mapper
public interface AccountMapper{
    #構建方法
    public Account getAccount(String name);
}

③創建mapper配置文件Mapper.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.example.managesystemdemo.mapper.AccountMapper">
    
<!--id為Mapper接口里面的方法名,namespace為Mapper接口的地址-->
   <select id="getAccount" resultType="com.example.managesystemdemo.bean.Account">
    select * from user where username=#{name}
    </select>

</mapper>

④為Mapper接口創建服務接口和實現類

@Data
@Component
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class Account {
    private  String username;
    private  String pwd;
}

public interface AccountService {

    public Account getUser(String name);
}

@Service
public class AccountServiceImpl 
             implements AccountService {

    @Autowired
    AccountMapper accountMapper;

    public Account getUser(String name) {
        //調用mapper接口方法
        return accountMapper.getAccount(name);
    }

}

⑤利用服務接口實現數據訪問

@Autowired
AccountService accountService;

@ResponseBody
@GetMapping("/select")
public Account select(@RequestParam String name
    {
        return accountService.getUser(name);
    }

Mapper接口+注釋

引入依賴包導入mybatis-plus包,自帶jdbc驅動,所以不需要導入驅動包mysql-connector-java

<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>
       mybatis-plus-boot-starter
   </artifactId>
   <version>3.4.1</version>
 </dependency>

①創建Mapper接口

public interface AccountMapper {
    /**
     * 有@Insert注釋就不需要配置mapper.xml文件了
     */
    @Insert("insert into user 
    values(#{username},#{pwd})")
    public void insertAccount(Account account);
}

②創建服務接口和實現類

@Data
@Component
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class Account {
    private  String username;
    private  String pwd;
}


public interface AccountService {

    public void insertAccount(Account account);
}

@Service
public class AccountServiceImpl 
             implements AccountService {

    @Autowired
    AccountMapper accountMapper;

    @Override
    public void insertAccount(Account account)
    {
        //調用mapper接口方法
        accountMapper.insertAccount(account);
    }

}

③利用服務類訪問數據

City city = new City("上饒","江西","中國");

@Autowired
AccountService accountService;

@ResponseBody
@GetMapping("/insert")
public String insert()
   {
        cityService.insert(city);
        return "{city.toString()}插入成功!!!";
    }

BaseMapper+@TableName()

引入依賴mybatis-plus

<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>
       mybatis-plus-boot-starter
   </artifactId>
   <version>3.4.1</version>
 </dependency>

①創建數據表映射的類

@Data
@Component
@ToString
@NoArgsConstructor
@AllArgsConstructor
//默認表名為類名小寫
@TableName("user_info")
public class User {
 //所有屬性都應該在數據表中,屬性名和表中字段名相同
 //除了有TableField(exist =   false)注釋的
    
    //默認主鍵為自增,如果主鍵不是自增得說明,不然會報錯
    @TableId(type = IdType.AUTO)
    private String username;

    @TableField(exist = false)
    //表中沒有該屬性對應的字段名
    private String password;

    private String fullname;
    private String email;
    private String address;
    private String city;
    private String sex;
}

②創建Mapper接口

/**
 * 繼承BaseMapper就有操作數據庫的方法,不需要寫Mapper.xml
 */
@Mapper
public interface UserMapper extends BaseMapper<User> {


}

③創建服務接口和實現類

/**
 * 繼承IService<User>類,里面有所有的MySQL執行方法
 */
public interface UserService extends IService<User> {
    
}


/**
 * 繼承ServiceImpl<UserMapper,User>類就不需要重寫   
 * IService接口里面的所有方法
 */
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}

④利用服務接口訪問數據

@Autowired
UserService userService;

@ResponseBody
    @GetMapping("/userInfo")
    public List<User> getUserInfo()
    {
        //BaseMapper<>類自帶很多MySQL執行方法
        return userService.list();
    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM