· 8 years ago · Jun 28, 2018, 06:14 PM
1class EmployeeRepository {
2
3 val cluster = Cluster.builder.addContactPoint("127.0.0.1").build()
4 val session = cluster.connect()
5 val KEYSPACE_TABLE = "CREATE KEYSPACE IF NOT EXISTS udt WITH REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor' : 1 };"
6 val ADDRESS_TABLE = "CREATE TYPE IF NOT EXISTS udt.address (employee_id int, residence_address text, office_address text,city text);"
7 val EMPLOYEE_TABLE = "CREATE TABLE IF NOT EXISTS udt.employee (employee_id int PRIMARY KEY,name text,address frozen<address>,salary text);"
8 session.execute(KEYSPACE_TABLE)
9 session.execute(ADDRESS_TABLE)
10 session.execute(EMPLOYEE_TABLE)
11
12 def insertEmployeeDetails(employee: Employee): ResultSet = {
13 val employeeJsonString = Json.toJson(employee).toString()
14 session.execute(s"INSERT INTO udt.employee JSON '$employeeJsonString';")
15 }
16
17 def getEmployeeDetails(employeeId: Int): ResultSet = {
18 session.execute("SELECT JSON * FROM udt.employee WHERE employee_id=" + employeeId)
19 }
20
21 def deleteEmployeeDetails(employeeId: Int): ResultSet = {
22 session.execute("DELETE * from udt.employee WHERE employee_id =" + employeeId)
23 }
24}