class MysqlDemo {
var driver= "com.mysql.jdbc.Driver"
var url= "jdbc:mysql://192.168.133.151:3306/mybatisdb"
var user= "root"
var pwd= "root"
def this ( dirver: String , url: String , user: String , pwd: String ) {
this ( )
this . driver= dirver
this . url= url
this . user= user
this . pwd= pwd
}
}
object MysqlDemo{
def main( args: Array[ String ] ) : Unit = {
val demo = new MysqlDemo( )
import aa. bb. MysqlUtil. _
val connection = demo. conn( )
println( connection)
demo. select
val num = demo. insert( Student( "kb11" , 4 , "男" ) )
println( num)
}
}
import java. sql. { Connection, DriverManager, PreparedStatement, ResultSet}
object MysqlUtil {
case class Student( name: String , age: Int , gender: String )
implicit class MysqlOp( mysqlDemo: MysqlDemo) {
private var connection: Connection = _
def conn( ) : Connection= {
Class. forName( mysqlDemo. driver)
connection= DriverManager. getConnection( mysqlDemo. url, mysqlDemo. user, mysqlDemo. pwd)
connection
}
def select( ) : Unit = {
var sqlString= "select id,name,age,gender from student"
val rs: ResultSet = conn( ) . createStatement( ) . executeQuery( sqlString)
while ( rs. next( ) ) {
val id = rs. getInt( 1 )
val name = rs. getString( 2 )
val age = rs. getInt( 3 )
val gender = rs. getString( 4 )
println( id, name, age, gender)
}
}
def insert( student: Student) : Int = {
println( "执行插入方法" , student. name, student. age, student. gender)
var sqlString= "insert into student(name,age,gender) values(?,?,?)"
val prep: PreparedStatement = conn( ) . prepareStatement( sqlString)
prep. setString( 1 , student. name)
prep. setInt( 2 , student. age)
prep. setString( 3 , student. gender)
val i = prep. executeUpdate( )
i
}
}
}