不用mybatis,连上数据库来做的话,不用mybatis,连上数据库来做的话,不用mybatis,连上数据库来做的话,
只要你会用ajax,这就不是问题
注意控制层1.如果用@ResponseBody 要return
2.用response.getwrite.write();是不用return的
3.但是至少用一种@ResponseBody或response.getwrite.write();
@RequestMapping(value = "/verify") //请求 请求名
@ResponseBody //ajax 返回json数据
/* ....... 执行的方法*/
不写mapper文件直接可以在类里写sql,再用DB直接执行string写好的sql
用原生的JBDC连接数据库,然后拿出数据,做增删查改。
写个DBUtil
public class DBUtil {
private static String driver;
private static String url;
private static String username;
private static String password;
static{
try {
//创建properties文件的对象
Properties properties=new Properties();
//读哪个文件
properties.load(DBUtil.class.getResourceAsStream("/db.properties"));
driver=properties.getProperty("driver");
url=properties.getProperty("url");
username=properties.getProperty("username");
password=properties.getProperty("password");
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
}
//获取连接
public static Connection getConn(){
Connection conn=null;
try {
conn=DriverManager.getConnection(url, username, password);
} catch (Exception e) {
System.out.println("获取数据库连接出错");
e.printStackTrace();
}
return conn;
}
//关闭资源
public static void close(Object...objs){
if(objs!=null&&objs.length>0){
try {
for(Object obj:objs){
if(obj instanceof Connection){
((Connection)obj).close();
}else if(obj instanceof PreparedStatement){
((PreparedStatement)obj).close();
}else if(obj instanceof ResultSet){
((ResultSet)obj).close();
}
}
} catch (Exception e) {
System.out.println("关闭资源出错");
e.printStackTrace();
}
}
}
public static void main(String[] args) {
getConn();
}
}
然后在controller层调用service层再调用Dao层里的各个增删改查。
就比如说最简单的删除
//根据id删除员工
public void delUser(int id){
Connection conn=null;
PreparedStatement ps=null;
try {
conn=DBUtil.getConn();
String sql="delete from users where id=?";
ps=conn.prepareStatement(sql);
ps.setInt(1, id);
ps.execute();
} catch (Exception e) {
e.printStackTrace();
}finally{
DBUtil.close(ps,conn);
}
}