天天看點

IDEA中建立spring boot 步驟,配置及模态視窗操作

1,配置pom.xml的依賴包

<thymeleaf.version>3.0.6.RELEASE</thymeleaf.version>
        <thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
``<dependency>
           
<groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.23</version>
    </dependency>
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper</artifactId>
        <version>5.0.0</version>
    </dependency>

    <!--熱啟動-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
           
<!--熱啟動-->
                <configuration>
                    <fork>true</fork>
                </configuration>
           

2,配置application.properties(連接配接資料庫資訊,連接配接池)

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:/bootstrap_test
spring.datasource.username=root
spring.datasource.password=

# 下面為連接配接池的補充設定,應用到上面所有資料源中
# 初始化大小,最小,最大
spring.datasource.initialSize=
spring.datasource.minIdle=
spring.datasource.maxActive=
# 配置擷取連接配接等待逾時的時間
spring.datasource.maxWait=
# 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接配接,機關是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=
# 配置一個連接配接在池中最小生存的時間,機關是毫秒
spring.datasource.minEvictableIdleTimeMillis=
spring.datasource.validationQuery=SELECT  FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打開PSCache,并且指定每個連接配接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=
# 配置監控統計攔截的filters,去掉後監控界面sql無法統計,'wall'用于防火牆
spring.datasource.filters=stat,wall,log4j
# 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 合并多個DruidDataSource的監控資料
#spring.datasource.useGlobalDataSourceStat=true
########################################################
### Java Persistence Api
########################################################
spring.jpa.database=MYSQL
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
           

3,建立包,(分層)(略,,,)

4,dao層的配置(可以用JPA,也可以用Mybatis)

(1)JPA

建一個接口,繼承JpaRepository<>(泛型)

jpa已提供一定的規範

如果hql滿足不了需要,也可以自定義hql語句。

(2)Mybaties

(類似這種寫法)
           
@Select("select * from user")
    List<User> selectUser();
           

5,Entity實體類的建立

(如果主鍵是string類型,生成政策是UUID,則strategy = “uuid”)

@Entity

    @Id
    @GeneratedValue(generator = "Generator")
    @GenericGenerator(name="Generator", strategy = "native" )
    private int Uid;


    @Column(name="uname")
    private String uname = "";
           

6,contriller層

調用業務層,注意路徑就好

7,模态視窗操作

關于模态視窗在Bootstrap官方文檔下載下傳就可以

彈出模态框

按鈕的data-target屬性必須與對應的模态窗的id值對應

<button type="button" class="btn btn-primary"  th:value="${user.uid}"  onclick="edit(this)" data-toggle="modal" data-target="#exampleModal">
                    修改
                </button>




<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="exampleModalLabel">使用者注冊</h4>
            </div>

            <div class="modal-body">
                <form>
                <div class="form-group">
                    <label for="username" class="col-sm-2 control-label">使用者名</label>
                    <div class="col-sm-10">
                        <input type="hidden" name="uid" id="uid" >

                        <input type="text" class="form-control" name="username" id="username" placeholder="Username" style="width: 200px">
                    </div>
                </div>
                <div class="form-group">
                    <label for="password" class="col-sm-2 control-label">密碼</label>
                    <div class="col-sm-10">
                        <input type="password" class="form-control" name="password" id="password" placeholder="Password" style="width: 200px">
                    </div>
                </div>

                <div class="form-group">
                    <label for="address" class="col-sm-2 control-label">位址</label>
                    <div class="col-sm-10">
                        <input type="text" class="form-control" name="address" id="address" placeholder="address" style="width: 200px">
                    </div>
                </div>
                <!--<div class="form-group">
                    <label for="birthday" class="col-sm-2 control-label">生日</label>
                    <div class="col-sm-10">
                        <input type="text" class="form-control" name="birthday" id="birthday" placeholder="birthday" style="width: 200px">
                    </div>
                </div>-->
                </form>

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" onclick="update()">确認修改</button>
                <button type="button" class="btn btn-primary" onclick="add()">儲存</button>
            </div>
        </div>
    </div>
</div>
           

增加時的背景

function add() {

    var username = $("#username").val();
    var password = $("#password").val();
    var address = $("#address").val();
    var birthday = $("#birthday").val();
    console.log(username);
    console.log(password);
    console.log(address);
    console.log(birthday);
    $("#exampleModal").modal('hide');
    var url="/insertUser";
    var data = {"username":username,"password":password,"address":address,"birthday":birthday};
    $.ajax({
        url:url,
        data:data,
        type:"POST",
        dataType:"json",
        success:function(data){

        }

    });

}
           

修改時的資料回現

function edit(o) {
    var uid= $(o).val();

    $.post("/findUserById",{"uid":uid},function(user){
        $("#uid").val(uid);
        $("#username").val(user.username);
        $("#password").val(user.password);
        $("#address").val(user.address);
    });

}