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


    • 业务字段设计

    • 数据库创建
    • CRUD操作
    • MyBatis集成
    • 注解和XML定义
    • ViewObject和DateTool
    • 首页开发
     
     
    • 业务字段设计
    实体:
    name:logub_ticket
    lable:
    id  
    user_id
    ticket
    expired
    status
    • 数据库创建
    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.xmlmybatis-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
    • 首页开发

  • 相关阅读:
    跟着Android学设计模式:代理(proxy)
    阿里巴巴无敌公关能力鲜为人知的内幕
    Linux与JVM的内存关系分析
    树莓派学习笔记——交叉编译练习之SQLite3安装
    atitit.eclipse 新特性总结3.1--4.3
    JAVA-1-学习历程1:基础知识1
    [OpenNebula]中间件訪问驱动程序
    RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的差别?
    再看数据库——(3)触发器
    QT5: QApplication, no such file or directory
  • 原文地址:https://www.cnblogs.com/liguo-wang/p/9573402.html
Copyright © 2020-2023  润新知