import java.sql.DriverManager
import java.sql.SQLException
public class ConnectionDemo{
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver"
// 定义MySQL数据库的连接地址
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn"
// MySQL数据库的连接用户名
public static final String DBUSER = "root"
// MySQL数据库的连接密码
public static final String DBPASS = "mysqladmin"
public static void main(String args[]){
Connection conn = null // 数据库连接
try{
Class.forName(DBDRIVER) // 加载驱动程序
}catch(ClassNotFoundException e){
e.printStackTrace()
}
try{
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS)
}catch(SQLException e){
e.printStackTrace()
}
System.out.println(conn) // 如果此时可以打印表示连接正常
try{
conn.close() // 数据库关闭
}catch(SQLException e){
e.printStackTrace()
}
}
}
查询1:select * from t_test where info->'$.address' = 'shanghai'
测试结果如下:
查询2:
select * from t_test where JSON_CONTAINS(info,JSON_OBJECT('major','math','height',1.87))
测试查询结果:
可以看到mybatis plus默认生成的info字段类型是string的,早期版本是 @TableField(el = "info,typeHandler = com.ccm.test.handler.ListTypeHandler") 试了下并不起作用,并没有去深究,升级版本后
试了下是可以的,测试的结果是后面重新建了表省去了几个字段
<select id="userLogin" parameterType="map" resultMap="UserDaoResultMap">对应Mapper接口中的方法是
List<UserDaoResultMap>userLogin(Map<String,Object>map)
调用接口时就是
Map<String,Object>map=new HashMap<>()
map.put("num","")
map.put("pass","")
mapper.userLogin(map)
另外可以不声明parameterType,参数不多的话这种方式更直观可靠
<select id="userLogin" resultMap="UserDaoResultMap">
对应的Mapper接口就是
//注解中value="num"的值就是xml里面需要映射的键值num
List<UserDaoResultMap>userLogin(@Param(value="num") String num,@Param(value="pass") String pass)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)