Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
知源笔记
问数
提交
82892844
问
问数
项目概览
知源笔记
/
问数
通知
2
Star
10
Fork
8
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
问
问数
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
82892844
编写于
6月 24, 2023
作者:
H
Henry He
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: mysql database
上级
fe450179
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
245 addition
and
1 deletion
+245
-1
README.md
README.md
+2
-0
pom.xml
pom.xml
+9
-1
src/main/java/org/enthusa/askdata/config/MapperConfiguration.java
.../java/org/enthusa/askdata/config/MapperConfiguration.java
+40
-0
src/main/java/org/enthusa/askdata/controller/BiPostController.java
...java/org/enthusa/askdata/controller/BiPostController.java
+69
-0
src/main/java/org/enthusa/askdata/entity/BiPost.java
src/main/java/org/enthusa/askdata/entity/BiPost.java
+32
-0
src/main/java/org/enthusa/askdata/mapper/BiPostMapper.java
src/main/java/org/enthusa/askdata/mapper/BiPostMapper.java
+12
-0
src/main/resources/import.sql
src/main/resources/import.sql
+6
-0
src/main/resources/org/enthusa/askdata/mapper/BiPostMapper.xml
...ain/resources/org/enthusa/askdata/mapper/BiPostMapper.xml
+36
-0
src/test/java/org/enthusa/askdata/AbstractTest.java
src/test/java/org/enthusa/askdata/AbstractTest.java
+14
-0
src/test/java/org/enthusa/askdata/mapper/BiPostMapperTest.java
...est/java/org/enthusa/askdata/mapper/BiPostMapperTest.java
+25
-0
未找到文件。
README.md
0 → 100644
浏览文件 @
82892844
# Ask Data
借助大语言模型, 通过提问对话方式, 获取数据图表.
pom.xml
浏览文件 @
82892844
...
@@ -76,7 +76,15 @@
...
@@ -76,7 +76,15 @@
<artifactId>
commons-text
</artifactId>
<artifactId>
commons-text
</artifactId>
<version>
1.9
</version>
<version>
1.9
</version>
</dependency>
</dependency>
<dependency>
<groupId>
mysql
</groupId>
<artifactId>
mysql-connector-java
</artifactId>
</dependency>
<dependency>
<groupId>
org.mybatis.spring.boot
</groupId>
<artifactId>
mybatis-spring-boot-starter
</artifactId>
<version>
2.1.0
</version>
</dependency>
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<artifactId>
spring-boot-starter-web
</artifactId>
...
...
src/main/java/org/enthusa/askdata/config/MapperConfiguration.java
0 → 100644
浏览文件 @
82892844
package
org.enthusa.askdata.config
;
import
org.apache.ibatis.session.SqlSessionFactory
;
import
org.enthusa.avatar.mybatis.helper.MapperHelper
;
import
org.enthusa.avatar.mybatis.helper.PageInterceptor
;
import
org.enthusa.avatar.mybatis.mapper.SqlMapper
;
import
org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration
;
import
org.springframework.boot.autoconfigure.AutoConfigureAfter
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.annotation.Configuration
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* @author henry
* @date 2023/6/24
*/
@Configuration
@AutoConfigureAfter
(
MybatisAutoConfiguration
.
class
)
public
class
MapperConfiguration
{
@Resource
private
List
<
SqlSessionFactory
>
sqlSessionFactoryList
;
@Resource
private
ApplicationContext
applicationContext
;
@PostConstruct
public
void
addMapperInterceptor
()
{
MapperHelper
mapperHelper
=
new
MapperHelper
();
PageInterceptor
interceptor
=
new
PageInterceptor
();
applicationContext
.
getBeansOfType
(
SqlMapper
.
class
);
mapperHelper
.
registerMapper
(
SqlMapper
.
class
);
for
(
SqlSessionFactory
sqlSessionFactory
:
sqlSessionFactoryList
)
{
sqlSessionFactory
.
getConfiguration
().
addInterceptor
(
interceptor
);
mapperHelper
.
processConfiguration
(
sqlSessionFactory
.
getConfiguration
());
}
}
}
src/main/java/org/enthusa/askdata/controller/BiPostController.java
0 → 100644
浏览文件 @
82892844
package
org.enthusa.askdata.controller
;
import
org.enthusa.askdata.entity.BiPost
;
import
org.enthusa.askdata.mapper.BiPostMapper
;
import
org.enthusa.avatar.face.type.PageModel
;
import
org.enthusa.avatar.face.type.Result
;
import
org.enthusa.avatar.face.utils.ResultUtil
;
import
org.enthusa.avatar.face.utils.Validate
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.validation.BindingResult
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/api"
)
public
class
BiPostController
{
@Resource
private
BiPostMapper
biPostMapper
;
@GetMapping
(
"/posts"
)
public
Result
index
(
@RequestParam
(
value
=
"page"
,
required
=
false
,
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
value
=
"pageSize"
,
required
=
false
,
defaultValue
=
"20"
)
Integer
pageSize
)
{
PageModel
<
BiPost
>
pageModel
=
new
PageModel
<>();
pageModel
.
setPageAndPageSize
(
page
,
pageSize
);
List
<
BiPost
>
postList
=
biPostMapper
.
selectByPage
(
pageModel
);
pageModel
.
setList
(
postList
);
return
ResultUtil
.
success
(
pageModel
);
}
@GetMapping
(
"/posts/{id}"
)
public
Result
show
(
@PathVariable
(
"id"
)
Integer
id
)
{
Validate
.
idValid
(
"id"
,
id
);
BiPost
post
=
biPostMapper
.
selectByPrimaryKey
(
id
);
Validate
.
hasRecord
(
"id"
,
id
,
post
);
return
ResultUtil
.
success
(
post
);
}
@PostMapping
(
"/posts"
)
public
Result
create
(
@RequestBody
@Valid
BiPost
biPost
,
BindingResult
bindingResult
)
{
if
(
bindingResult
.
hasErrors
())
{
Validate
.
isRecord
(
true
,
bindingResult
.
getFieldError
().
getDefaultMessage
());
}
BiPost
post
=
new
BiPost
();
BeanUtils
.
copyProperties
(
biPost
,
post
);
biPostMapper
.
insertSelective
(
post
);
return
ResultUtil
.
success
(
post
);
}
@PutMapping
(
"/posts/{id}"
)
public
Result
update
(
@PathVariable
(
"id"
)
Integer
id
,
@RequestBody
@Valid
BiPost
biPost
,
BindingResult
bindingResult
)
{
if
(
bindingResult
.
hasErrors
())
{
Validate
.
isRecord
(
true
,
bindingResult
.
getFieldError
().
getDefaultMessage
());
}
Validate
.
idValid
(
"id"
,
id
);
BiPost
post
=
biPostMapper
.
selectByPrimaryKey
(
id
);
Validate
.
hasRecord
(
"id"
,
id
,
post
);
BeanUtils
.
copyProperties
(
biPost
,
post
);
biPostMapper
.
updateByPrimaryKey
(
post
);
return
ResultUtil
.
success
(
post
);
}
}
src/main/java/org/enthusa/askdata/entity/BiPost.java
0 → 100644
浏览文件 @
82892844
package
org.enthusa.askdata.entity
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
BiPost
{
/**
* id
*/
private
Integer
id
;
/**
* title
*/
private
String
title
;
/**
* create_time
*/
private
Date
createTime
;
/**
* update_time
*/
private
Date
updateTime
;
public
void
setTitle
(
String
title
)
{
this
.
title
=
title
==
null
?
null
:
title
.
trim
();
}
}
src/main/java/org/enthusa/askdata/mapper/BiPostMapper.java
0 → 100644
浏览文件 @
82892844
package
org.enthusa.askdata.mapper
;
import
org.enthusa.askdata.entity.BiPost
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.enthusa.avatar.mybatis.mapper.SqlMapper
;
@Mapper
public
interface
BiPostMapper
extends
SqlMapper
<
BiPost
,
Integer
>
{
int
insertSelective
(
BiPost
record
);
int
updateByPrimaryKeySelective
(
BiPost
record
);
}
src/main/resources/import.sql
0 → 100644
浏览文件 @
82892844
CREATE
TABLE
bi_post
(
id
INT
AUTO_INCREMENT
PRIMARY
KEY
,
title
VARCHAR
(
255
),
create_time
DATETIME
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
,
update_time
DATETIME
NOT
NULL
DEFAULT
CURRENT_TIMESTAMP
ON
UPDATE
CURRENT_TIMESTAMP
);
src/main/resources/org/enthusa/askdata/mapper/BiPostMapper.xml
0 → 100644
浏览文件 @
82892844
<?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=
"org.enthusa.askdata.mapper.BiPostMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"org.enthusa.askdata.entity.BiPost"
>
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"title"
property=
"title"
jdbcType=
"VARCHAR"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, title, create_time, update_time
</sql>
<insert
id=
"insertSelective"
parameterType=
"org.enthusa.askdata.entity.BiPost"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into bi_post
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"title != null"
>
title,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"title != null"
>
#{title,jdbcType=VARCHAR},
</if>
</trim>
</insert>
<update
id=
"updateByPrimaryKeySelective"
parameterType=
"org.enthusa.askdata.entity.BiPost"
>
update bi_post
<set>
<if
test=
"title != null"
>
title = #{title,jdbcType=VARCHAR},
</if>
</set>
where id = #{id,jdbcType=INTEGER}
</update>
</mapper>
src/test/java/org/enthusa/askdata/AbstractTest.java
0 → 100644
浏览文件 @
82892844
package
org.enthusa.askdata
;
import
org.junit.runner.RunWith
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
/**
* @author henry
* @date 2023/6/24
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
public
abstract
class
AbstractTest
{
}
src/test/java/org/enthusa/askdata/mapper/BiPostMapperTest.java
0 → 100644
浏览文件 @
82892844
package
org.enthusa.askdata.mapper
;
import
org.enthusa.askdata.AbstractTest
;
import
org.enthusa.askdata.entity.BiPost
;
import
org.enthusa.avatar.face.type.PageModel
;
import
org.junit.Test
;
import
javax.annotation.Resource
;
/**
* @author henry
* @date 2023/6/24
*/
public
class
BiPostMapperTest
extends
AbstractTest
{
@Resource
private
BiPostMapper
biPostMapper
;
@Test
public
void
test
()
{
PageModel
<
BiPost
>
pageModel
=
new
PageModel
<>();
pageModel
.
setOrders
(
"id"
);
biPostMapper
.
selectByPage
(
pageModel
).
forEach
(
System
.
out
::
println
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录