scala
import org.squeryl._
import org.squeryl.PrimitiveTypeMode._
class User(val id: Long, val name: String, val age: Int) extends KeyedEntity[Long]
object Database extends Schema {
val users = table[User]("users")
val userNameIndex = index("user_name_index", users.name)
}
scala
val user = from(Database.users)(user => where(user.name === "John").select(user)).single
scala
import org.squeryl.dsl._
val cachedResult = join(Database.users, Database.posts)((user, post) =>
where(user.id === post.userId)
select(user, post)
on(user.id === post.userId)
orderBy(user.name.asc))
scala
libraryDependencies += "mysql" % "mysql-connector-java" % "8.0.26"
Class.forName("com.mysql.cj.jdbc.Driver")
SessionFactory.concreteFactory = Some(() => Session.create(
java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase?useSSL=false"),
new MySQLAdapter)
)