Hej!
Försöker skriva ett javaprogram där man hämtar data ifrån databasen, skapar objekt (user) och dom objekten ska skrivas ut i XML format på tomcatservern. Då jag anger filvägen får jag dessvärre felmeddelanden som jag ej vet hur jag ska lösa. Jag kör med maven, känns som det spökar med någon jarfil..
Någon som vet något enklare sätt att göra allt på får ni gärna dela med er
User klassen
Databas klassen
Försöker skriva ett javaprogram där man hämtar data ifrån databasen, skapar objekt (user) och dom objekten ska skrivas ut i XML format på tomcatservern. Då jag anger filvägen får jag dessvärre felmeddelanden som jag ej vet hur jag ska lösa. Jag kör med maven, känns som det spökar med någon jarfil..
Någon som vet något enklare sätt att göra allt på får ni gärna dela med er
Kod:
Upackage com.voit.labb2; import java.sql.Connection; import java.sql.DriverManager; import java.util.List; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; @Path("myresource") public class MyResource { DbConnector db; Connection conn; List <User> userList; @GET @Path("/database") @Produces(MediaType.APPLICATION_XML) public List<User>getUserObj() throws Exception{ // Connecting to db db = new DbConnector(); System.out.println("Test"); // retriving objects from getUser method userList = db.getUser(); // Returning the list with objects return userList; } }
User klassen
Kod:
import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="user") public class User { private int id; private String name; private String profession; public User(int id, String profession, String name ) { this.id = id; this.name = name; this.profession = profession; } public User() {} @XmlElement(name="Id") public int getId() { return id; } public void setId(int id) { this.id = id; } @XmlElement(name="Name") public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlElement(name="Profession") public String getProfession() { return profession; } public void setProfession(String profession) { this.profession = profession; } }
Databas klassen
HTML-kod:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class DbConnector { private Connection conn; private String url ="jdbc:mysql://localhost:3306/labb2"; private String username = "root"; private String password = "hejsan123"; private List <User> list; // ObjectList private Statement stmt; private ResultSet res; // Connect to database public DbConnector() { try { conn = DriverManager.getConnection(url,username,password); System.out.println("Connected to db!"); } catch (SQLException e) { e.printStackTrace(); } } // adding users to list public List<User> getUser() throws Exception{ Class.forName("com.mysql.jdbc.Driver"); list = new ArrayList(); try { stmt = conn.createStatement(); res = stmt.executeQuery("select * from user"); while(res.next()) { User tempUser = convertToUserObj(res); list.add(tempUser); } return list; // Alla 5 obejekt returnerade i lista }finally { stmt.close(); res.close(); } } // Object converter private User convertToUserObj(ResultSet res) throws SQLException { int id = res.getInt("id"); String name = res.getString("name"); String profession = res.getString("profession"); User tempUser = new User(); tempUser.setId(id); tempUser.setName(name); tempUser.setProfession(profession); return tempUser; } // print out data public void getInfo(List<User> list) { for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i).getId() + " " + list.get(i).getName() + " "+ list.get(i).getProfession()); } } }