closee掉sql connection

master
lyf666 2017-09-26 11:24:48 +08:00
parent 681ba798f9
commit 5d5f6cbe4d
5 changed files with 252 additions and 104 deletions

View File

@ -80,6 +80,11 @@
<artifactId>druid</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>3.2</version>
</dependency>
</dependencies>

View File

@ -1,3 +1,5 @@
import com.alibaba.druid.pool.DruidDataSource
import com.jfinal.plugin.activerecord.ActiveRecordPlugin
import org.slf4j.LoggerFactory
import ro.pippo.controller.ControllerApplication
import ro.pippo.core.Pippo
@ -18,6 +20,7 @@ object Main {
class BasicApplication : ControllerApplication() {
private val log = LoggerFactory.getLogger(BasicApplication::class.java)
// private val druidDataSource: DruidDataSource = DruidDataSource()
override fun onInit() {
getRouter().ignorePaths("/favicon.ico")
@ -50,6 +53,10 @@ class BasicApplication : ControllerApplication() {
addControllers(CtrlMenu::class.java)
addControllers(CtrlPerm::class.java)
addControllers(CtrlRole::class.java)
// val activeRecord = ActiveRecordPlugin(druidDataSource)
// activeRecord.start()
}
override fun createRequestResponseFactory(): RequestResponseFactory {

View File

@ -1,3 +1,5 @@
package model
data class JSONResponse(val code: Int, val msg: String, val result: Any?)
data class JSONResponse(val code: Int, val msg: String, val result: Any?)
data class JSONResponseWithExtra(val code: Int, val msg: String, val result: Any?, val extra:Any?)

View File

@ -6,23 +6,30 @@ import util.*
class Service {
fun getUserById(id: Int): ModelUser? {
val rs = DBUtil.getConnection().createStatement()
val conn = DBUtil.getConnection()
val rs = conn.createStatement()
.executeQuery("select * from `user` where id=$id")
return if (rs.next()) {
return rsToUser(rs)
val user = rsToUser(rs)
conn.close()
return user
} else {
null
}
}
fun saveUser(user: ModelUser): Boolean {
val conn = DBUtil.getConnection()
try {
DBUtil.getConnection().createStatement()
conn.createStatement()
.executeUpdate(userToInsertSQL(user))
return true
} catch (e: Exception) {
return false
} finally {
conn.close()
}
}
@ -31,8 +38,13 @@ class Service {
}
fun deleteUser(userId: Int): Boolean {
return DBUtil.getConnection().createStatement()
.executeUpdate("delete from `user` where id=$userId") > 1
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.executeUpdate("delete from `user` where id=$userId") > 1
} finally {
conn.close()
}
}
fun changePasswd(user: ModelUser, passwd: String): Boolean {
@ -44,24 +56,32 @@ class Service {
if (user == null) {
return null
}
val rs = DBUtil.getConnection().createStatement()
.executeQuery("select * from `group` where id=${user.groupId}")
return if (rs.next()) {
return rsToGroup(rs)
} else {
null
val conn = DBUtil.getConnection()
try {
val rs = conn.createStatement()
.executeQuery("select * from `group` where id=${user.groupId}")
return if (rs.next()) {
return rsToGroup(rs)
} else {
null
}
} finally {
conn.close()
}
}
fun saveGroup(group: ModelGroup): Boolean {
val conn = DBUtil.getConnection()
try {
println(groupToInsertSQL(group))
DBUtil.getConnection().createStatement()
conn.createStatement()
.execute(groupToInsertSQL(group))
return true
} catch (e: Exception) {
e.printStackTrace()
return false
} finally {
conn.close()
}
}
@ -70,18 +90,28 @@ class Service {
}
fun deleteGroup(groupId: Int): Boolean {
return DBUtil.getConnection().createStatement()
.executeUpdate("delete from `group` where id=$groupId") > 1
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.executeUpdate("delete from `group` where id=$groupId") > 1
} finally {
conn.close()
}
}
fun getGroupById(groupId: Int): ModelGroup? {
val rs = DBUtil.getConnection().createStatement()
.executeQuery("select * from `group` where id=$groupId")
val conn = DBUtil.getConnection()
try {
val rs = conn.createStatement()
.executeQuery("select * from `group` where id=$groupId")
return if (rs.next()) {
return rsToGroup(rs)
} else {
null
return if (rs.next()) {
return rsToGroup(rs)
} else {
null
}
} finally {
conn.close()
}
}
@ -91,23 +121,38 @@ class Service {
return false
}
return DBUtil.getConnection().createStatement()
.execute("update `user` set groupId=$groupId where id=$userId")
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.execute("update `user` set groupId=$groupId where id=$userId")
} finally {
conn.close()
}
}
fun unbindUserToGroup(userId: Int, groupId: Int): Boolean {
return DBUtil.getConnection().createStatement()
.execute("update `user` set groupId=-1 where id=$userId")
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.execute("update `user` set groupId=-1 where id=$userId")
} finally {
conn.close()
}
}
fun getRoleById(roleId: Int): ModelRole? {
val rs = DBUtil.getConnection().createStatement()
.executeQuery("select * from `role` where id=$roleId")
val conn = DBUtil.getConnection()
try {
val rs = conn.createStatement()
.executeQuery("select * from `role` where id=$roleId")
return if (rs.next()) {
return rsToRole(rs)
} else {
null
return if (rs.next()) {
return rsToRole(rs)
} else {
null
}
} finally {
conn.close()
}
}
@ -116,28 +161,41 @@ class Service {
if (user == null) {
return null
}
val rs = DBUtil.getConnection().createStatement()
.executeQuery("select * from `role` where id=${user.roleId}")
return if (rs.next()) {
return rsToRole(rs)
} else {
null
val conn = DBUtil.getConnection()
try {
val rs = conn.createStatement()
.executeQuery("select * from `role` where id=${user.roleId}")
return if (rs.next()) {
return rsToRole(rs)
} else {
null
}
} finally {
conn.close()
}
}
fun saveRole(role: ModelRole): Boolean {
val conn = DBUtil.getConnection()
try {
DBUtil.getConnection().createStatement()
conn.createStatement()
.execute(roleToInsertSQL(role))
return true
} catch (e: Exception) {
return false
} finally {
conn.close()
}
}
fun deleteRole(roleId: Int): Boolean {
return DBUtil.getConnection().createStatement()
.executeUpdate("delete from `role` where id=$roleId") > 1
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.executeUpdate("delete from `role` where id=$roleId") > 1
} finally {
conn.close()
}
}
fun updateRole(role: ModelRole): Boolean {
@ -150,8 +208,13 @@ class Service {
return false
}
return DBUtil.getConnection().createStatement()
.execute("update `user` set roleId=$roleId where id=$userId")
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.execute("update `user` set roleId=$roleId where id=$userId")
} finally {
conn.close()
}
}
fun unbindUserToRole(userId: Int, roleId: Int): Boolean {
@ -160,44 +223,61 @@ class Service {
return false
}
return DBUtil.getConnection().createStatement()
.execute("update `user` set roleId=-1 where id=$userId")
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.execute("update `user` set roleId=-1 where id=$userId")
} finally {
conn.close()
}
}
fun getPermById(permId: Int): ModelPerm? {
val rs = DBUtil.getConnection().createStatement()
.executeQuery("select * from `perm` where id=$permId")
val conn = DBUtil.getConnection()
try {
val rs = conn.createStatement()
.executeQuery("select * from `perm` where id=$permId")
return if (rs.next()) {
return rsToPerm(rs)
} else {
null
return if (rs.next()) {
return rsToPerm(rs)
} else {
null
}
} finally {
conn.close()
}
}
fun getPermByRoleId(roleId: Int): List<ModelPerm> {
val conn = DBUtil.getConnection()
val rs = conn.createStatement()
.executeQuery("""
try {
val rs = conn.createStatement()
.executeQuery("""
select * from perm t
where exists(
select * from mapping_perm_role m where m.roleid = $roleId
)
""".trim())
val list = mutableListOf<ModelPerm>()
while (rs.next()) {
list.add(rsToPerm(rs))
val list = mutableListOf<ModelPerm>()
while (rs.next()) {
list.add(rsToPerm(rs))
}
return list
} finally {
conn.close()
}
return list
}
fun savePerm(perm: ModelPerm): Boolean {
val conn = DBUtil.getConnection()
try {
DBUtil.getConnection().createStatement()
conn.createStatement()
.executeUpdate(permToInsertSQL(perm))
return true
} catch (e: Exception) {
return false
} finally {
conn.close()
}
}
@ -206,8 +286,13 @@ class Service {
}
fun deletePerm(permId: Int): Boolean {
return DBUtil.getConnection().createStatement()
.executeUpdate("delete from `perm` where id=$permId") > 1
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.executeUpdate("delete from `perm` where id=$permId") > 1
} finally {
conn.close()
}
}
fun bindPermToRole(permId: Int, roleId: Int): Boolean {
@ -217,23 +302,38 @@ class Service {
return false
}
return DBUtil.getConnection().createStatement()
.execute("insert into mapping_perm_role($permId,$roleId)")
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.execute("insert into mapping_perm_role($permId,$roleId)")
} finally {
conn.close()
}
}
fun unbindPermToRole(permId: Int, roleId: Int): Boolean {
return DBUtil.getConnection().createStatement()
.executeUpdate("delete from mapping_perm_role where permId=$permId and roleId=$roleId)") > 1
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.executeUpdate("delete from mapping_perm_role where permId=$permId and roleId=$roleId)") > 1
} finally {
conn.close()
}
}
fun getMenuById(menuId: Int): ModelMenu? {
val rs = DBUtil.getConnection().createStatement()
.executeQuery("select * from `menu` where id=$menuId")
val conn = DBUtil.getConnection()
try {
val rs = conn.createStatement()
.executeQuery("select * from `menu` where id=$menuId")
return if (rs.next()) {
return rsToMenu(rs)
} else {
null
return if (rs.next()) {
return rsToMenu(rs)
} else {
null
}
} finally {
conn.close()
}
}
@ -243,12 +343,15 @@ class Service {
}
fun saveMenu(menu: ModelMenu): Boolean {
val conn = DBUtil.getConnection()
try {
DBUtil.getConnection().createStatement()
conn.createStatement()
.execute(menuToInsertSQL(menu))
return true
} catch (e: Exception) {
return false
} finally {
conn.close()
}
}
@ -257,8 +360,13 @@ class Service {
}
fun deleteMenu(menuId: Int): Boolean {
return DBUtil.getConnection().createStatement()
.executeUpdate("delete from `menu` where id=$menuId") > 1
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.executeUpdate("delete from `menu` where id=$menuId") > 1
} finally {
conn.close()
}
}
fun bindMenuToPerm(menuId: Int, permId: Int): Boolean {
@ -267,8 +375,13 @@ class Service {
return false
}
return DBUtil.getConnection().createStatement()
.execute("update `menu` set permId=$permId where id=$menuId")
val conn = DBUtil.getConnection()
try {
return conn.createStatement()
.execute("update `menu` set permId=$permId where id=$menuId")
} finally {
conn.close()
}
}
fun unbindMenuToPerm(menuId: Int, permId: Int): Boolean {
@ -278,56 +391,76 @@ class Service {
fun pagiUser(page: Int, size: Int): MutableList<ModelUser> {
val conn = DBUtil.getConnection()
val rs = conn.createStatement()
.executeQuery("select * from `user` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelUser>()
while (rs.next()) {
list.add(rsToUser(rs))
try {
val rs = conn.createStatement()
.executeQuery("select * from `user` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelUser>()
while (rs.next()) {
list.add(rsToUser(rs))
}
return list
} finally {
conn.close()
}
return list
}
fun pagiGroup(page: Int, size: Int): MutableList<ModelGroup> {
val conn = DBUtil.getConnection()
val rs = conn.createStatement()
.executeQuery("select * from `group` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelGroup>()
while (rs.next()) {
list.add(rsToGroup(rs))
try {
val rs = conn.createStatement()
.executeQuery("select * from `group` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelGroup>()
while (rs.next()) {
list.add(rsToGroup(rs))
}
return list
} finally {
conn.close()
}
return list
}
fun pagiMenu(page: Int, size: Int): MutableList<ModelMenu> {
val conn = DBUtil.getConnection()
val rs = conn.createStatement()
.executeQuery("select * from `menu` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelMenu>()
while (rs.next()) {
list.add(rsToMenu(rs))
try {
val rs = conn.createStatement()
.executeQuery("select * from `menu` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelMenu>()
while (rs.next()) {
list.add(rsToMenu(rs))
}
return list
} finally {
conn.close()
}
return list
}
fun pagiPerm(page: Int, size: Int): MutableList<ModelPerm> {
val conn = DBUtil.getConnection()
val rs = conn.createStatement()
.executeQuery("select * from `perm` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelPerm>()
while (rs.next()) {
list.add(rsToPerm(rs))
try {
val rs = conn.createStatement()
.executeQuery("select * from `perm` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelPerm>()
while (rs.next()) {
list.add(rsToPerm(rs))
}
return list
} finally {
conn.close()
}
return list
}
fun pagiRole(page: Int, size: Int): MutableList<ModelRole> {
val conn = DBUtil.getConnection()
val rs = conn.createStatement()
.executeQuery("select * from `role` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelRole>()
while (rs.next()) {
list.add(rsToRole(rs))
try {
val rs = conn.createStatement()
.executeQuery("select * from `role` limit $size offset ${(page - 1) * size}")
val list = mutableListOf<ModelRole>()
while (rs.next()) {
list.add(rsToRole(rs))
}
return list
} finally {
conn.close()
}
return list
}
}

View File

@ -0,0 +1 @@
package util