数据库CRUD操作以及MyBatisd的配置使用

• 业务字段设计

• 数据库创建
• CRUD操作
• MyBatis集成
• 注解和XML定义
• ViewObject和DateTool
• 首页开发
 
 
• 业务字段设计
实体:
• 数据库创建
GUI版本管理工具创建,然后通过GUI转SQL;
• CRUD操作
 
insert into table_name (列1, 列2,...) VALUES (值1, 值2,....);
select 列名1,列名2 from 表名称 where 条件;
条件: between 1 and 2 order by 3 desc
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
 
• MyBatis集成
1. application.properties增加spring配置数据库链接地址
spring.datasource.username = root
spring.datasource.password = qwertyuiop
mybatis.config-location = classpath:mybatis-config.xml
同时:在配置的同级别目录下:resources/templates建立粘贴建立官网有:mybatis-config.xml mybatis-config.xml
<? xml version ="1.0" encoding ="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
< configuration >
 
< settings >
<!-- Globally enables or disables any caches configured in any mapper under this configuration -->
< setting name ="cacheEnabled" value ="true" />
<!-- Sets the number of seconds the driver will wait for a response from the database -->
< setting name ="defaultStatementTimeout" value ="3000" />
<!-- Enables automatic mapping from classic database column names A_COLUMN to camel case classic Java property names aColumn -->
< setting name ="mapUnderscoreToCamelCase" value ="true" />
<!-- Allows JDBC support for generated keys. A compatible driver is required.
This setting forces generated keys to be used if set to true,
as some drivers deny compatibility but still work -->
< setting name ="useGeneratedKeys" value ="true" />
</ settings >
 
<!-- Continue going here -->
 
</ configuration >
2. pom.xml引入mybatis-spring-boot-starter和mysql-connector-java
<dependency>
<groupId> org.mybatis </groupId>
<artifactId> mybatis </artifactId>
<version>1.1.1 </version>
</dependency>
 
< dependency >
< groupId > mysql </ groupId >
< artifactId > mysql-connector-java </ artifactId >
< scope > runtime </ scope >
</ dependency >
 
 
 
DAO层建立modul相关的userDao来通过mybatis访问数据库库:
//注解配置;
@Mapper
public interface UserDAO {
String TABLE_NAME = "user" ;
String INSET_FIELDS = " name, password, salt, head_url " ;
String SELECT_FIELDS = " id, name, password, salt, head_url" ;
//通过抽象,实现crud的复用;
@Insert ( { "insert into " , TABLE_NAME , "(" , INSET_FIELDS ,
") values (#{name},#{password},#{salt},#{headUrl})" } )
int addUser ( User user ) ;
 
@Select ( { "select " , SELECT_FIELDS , " from " , TABLE_NAME , " where id=#{id}" } )
User selectById ( int id ) ;
 
@Select ( { "select " , SELECT_FIELDS , " from " , TABLE_NAME , " where name=#{name}" } )
User selectByName ( String name ) ;
 
@Update ( { "update " , TABLE_NAME , " set password=#{password} where id=#{id}" } )
void updatePassword ( User user ) ;
 
@Delete ( { "delete from " , TABLE_NAME , " where id=#{id}" } )
void deleteById ( int id ) ;
}
//xml配置,在相应的resources下建立DAO相应目录的的xml;
<mapper namespace="com.nowcoder.dao.QuestionDAO"> <sql id="table">question</sql> <sql id="selectFields">id,title, content,comment_count,created_date,user_id </sql> <select id="selectByUserIdAndOffset" resultType="com.nowcoder.model.Question"> SELECT <include refid="selectFields"/> FROM <include refid="table"/>
<if test="userId != 0"> WHERE user_id = #{userId} </if> ORDER BY id DESC LIMIT #{offset},#{limit} </select> </mapper>
 
 
• 注解和XML定义
• ViewObject和DateTool
• 首页开发

猜你喜欢

转载自www.cnblogs.com/liguo-wang/p/9573402.html
今日推荐